Re: ez-cdda sleep

2004-11-06 Thread Michael Stefaniuc
Dimitrie O. Paun wrote: On Thu, Nov 04, 2004 at 08:02:24PM +, Mike Hearn wrote: Long term the plan is to use SIGUSR2 to implement SetThreadContext, with SIGUSR1 uploading the sigcontext to the server for GetThreadContext like in the patch. That requires modifying DOSVM so it doesn't use SIGUSR2

Re: ez-cdda sleep

2004-11-04 Thread Mike Hearn
> Sorry if I'm way off (haven't looked at the problem myself), but can't we > include a command-byte or so with the payload (in the case the context), so > we can multiplex multiple requests on the same signal? Well, that's what I meant by figuring it out. As far as I know signals cannot contain p

Re: ez-cdda sleep

2004-11-04 Thread Dimitrie O. Paun
On Thu, Nov 04, 2004 at 08:02:24PM +, Mike Hearn wrote: > Long term the plan is to use SIGUSR2 to implement SetThreadContext, with > SIGUSR1 uploading the sigcontext to the server for GetThreadContext like > in the patch. > > That requires modifying DOSVM so it doesn't use SIGUSR2 (or figuring

Re: ez-cdda sleep

2004-11-04 Thread Andreas Mohr
Hi, On Thu, Nov 04, 2004 at 08:02:24PM +, Mike Hearn wrote: > This does leave the question of OpenGL/D3D thread affinity open, the plan > was to use a signal for that but we only have 2! If we only have two signals (SIGUSR1, SIGUSR2), then a good idea would be to implement some sort of signal

Re: ez-cdda sleep

2004-11-04 Thread Mike Hearn
On Thu, 04 Nov 2004 14:11:08 +, Mike Hearn wrote: > Well, don't leave me in suspense, show me where they are! :) I talked on IRC to Alexandre about this. The first race he was thinking of is not a problem with this patch as Get/SetThreadContext loop until the context is uploaded. The second ra

Re: ez-cdda sleep

2004-11-04 Thread Mike Hearn
On Wed, 03 Nov 2004 21:00:14 -0800, Alexandre Julliard wrote: > Actually I already did a similar hack in the Crossover tree; it's not > merged because it's full of races (which at first glance seems to be > the case with yours too). Well, don't leave me in suspense, show me where they are! :) I t

Re: ez-cdda sleep

2004-11-03 Thread Alexandre Julliard
Mike Hearn <[EMAIL PROTECTED]> writes: > I've attached a patch which fixes this for me. It's not too tricky, if > you want me to explain it though I'm happy to do so. > > This feels like the sort of patch Alexandre will rewrite to his liking > anyway :) Actually I already did a similar hack in th

Re: ez-cdda sleep

2004-10-18 Thread Mike Hearn
>> - storing context in server while entering USR1 signal handler (to be >> done without races, which will require some more work, as the server >> doesn't synchronize with the USR1 handler) I've implemented this in my local tree, and it works fine: Easy CD-DA gets further now. It is still being n

Re: ez-cdda sleep

2004-10-07 Thread Mike Hearn
ptrace uses SIGSTOP on the child process, so it boils down to the first item in the list Could you elaborate on the stability issues it caused please? SIGSTOP seems to be the most straightforward mapping of SuspendThread. thanks -mike

Re: ez-cdda sleep

2004-10-06 Thread Eric Pouech
Mike Hearn a écrit : Possible ideas: - implement suspend/resume in processes without any specific code. We dropped that long ago for stability issues (and race condition removal as well) - cheat for context reading in server while suspended. it will require some surgery (getting whether we are i

Re: ez-cdda sleep

2004-10-04 Thread Mike Hearn
Possible ideas: - implement suspend/resume in processes without any specific code. We dropped that long ago for stability issues (and race condition removal as well) - cheat for context reading in server while suspended. it will require some surgery (getting whether we are in the condition of th

Re: ez-cdda sleep

2004-10-03 Thread Eric Pouech
Maybe if we do this right, we can get rid of the racy looking loop at the top of test_SuspendThread() in dlls/kernel/tests/thread.c ... or is that loop needed on Windows, too? I think it's needed. The loop is only here to wait for the child to call actually SuspendThread. So, it's just about being

Re: ez-cdda sleep

2004-10-02 Thread Dan Kegel
Eric Pouech ([EMAIL PROTECTED]) wrote: > ... But, the address we get in GetThreadContext is the one from where the thread waits on the server (hence the 0xe410 address), not the address it was suspended from (as it's supposed to be) I don't think it will be easy to fix. Possible ideas: ... -

Re: ez-cdda sleep

2004-10-02 Thread James Hawkins
> I don't think it will be easy to fix. heh yea this sounds like a difficult one. Way beyond me. On Sat, 02 Oct 2004 15:44:08 +0200, Eric Pouech <[EMAIL PROTECTED]> wrote: > > I would investigate whether it is supposed to be in the middle of a > > blocking call and under what conditions it shou

Re: ez-cdda sleep

2004-10-02 Thread Eric Pouech
I would investigate whether it is supposed to be in the middle of a blocking call and under what conditions it should return from it. I got a look at it. Basically, what happens is: - the entry point code just loops onto itself EntryPoint: jmp EntryPoint - so, the creator of this program is likely

Re: ez-cdda sleep

2004-09-30 Thread Robert Shearman
Mike Hearn wrote: On Thu, 2004-09-30 at 17:37, James Hawkins wrote: err:thread:GetThreadContext Eip: e410 err:thread:GetThreadContext Eip: e410 err:thread:GetThreadContext Eip: e410 err:thread:GetThreadContext Eip: e410 and that is repeated until I terminate it. Wierd. That

Re: ez-cdda sleep

2004-09-30 Thread Mike Hearn
On Thu, 2004-09-30 at 17:37, James Hawkins wrote: > err:thread:GetThreadContext Eip: e410 > err:thread:GetThreadContext Eip: e410 > err:thread:GetThreadContext Eip: e410 > err:thread:GetThreadContext Eip: e410 > > and that is repeated until I terminate it. Wierd. That value of EIP

Re: ez-cdda sleep

2004-09-30 Thread James Hawkins
oops after moving the ERR() to after the server RPC, this is what we get: err:thread:GetThreadContext Eip: e410 err:thread:GetThreadContext Eip: e410 err:thread:GetThreadContext Eip: e410 err:thread:GetThreadContext Eip: e410 and that is repeated until I terminate it. On Thu, 30

Re: ez-cdda sleep

2004-09-30 Thread Mike Hearn
On Thu, 2004-09-30 at 16:33, James Hawkins wrote: > I added the ERR output to GetThreadContext and the results are: > > err:thread:GetThreadContext Eip: 0 > err:thread:GetThreadContext Eip: 0 > err:thread:GetThreadContext Eip: 0 > err:thread:GetThreadContext Eip: 0 > > and this continues until I

Re: ez-cdda sleep

2004-09-30 Thread James Hawkins
I added the ERR output to GetThreadContext and the results are: err:thread:GetThreadContext Eip: 0 err:thread:GetThreadContext Eip: 0 err:thread:GetThreadContext Eip: 0 err:thread:GetThreadContext Eip: 0 and this continues until I break out of the program with ctrl-c. On Thu, 30 Sep 2004 15:27:

Re: ez-cdda sleep

2004-09-30 Thread Mike Hearn
> I modified Sleep to do an ERR("USING MODIFIED SLEEP!\n") and then > added the check for timeout==64, set it to 3000, but it still calls > sleep over and over again without any progress. I even took out the > check for timeout==64 and just timeout to 3000 for the second test, > but I get the same

Re: ez-cdda sleep

2004-09-29 Thread James Hawkins
On Wed, 29 Sep 2004 12:38:32 -0400, James Hawkins <[EMAIL PROTECTED]> wrote: > > Let's engage on a little log analysis shall we? This is something that > > just comes with practice ... > > Wow...very impressive. > > > Here's an idea. Hack the Sleep() call like this: > > > > if (delay == 64) delay

Re: ez-cdda sleep

2004-09-29 Thread James Hawkins
> Let's engage on a little log analysis shall we? This is something that > just comes with practice ... Wow...very impressive. > Here's an idea. Hack the Sleep() call like this: > > if (delay == 64) delay = 3000; ok I will try this out and get back to you on what happens. On Wed, 29 Sep 2004

Re: ez-cdda sleep

2004-09-29 Thread Mike Hearn
I think Marcus is right, this looks like copy protection. Let's engage on a little log analysis shall we? This is something that just comes with practice ... Just after the program starts, it does a CreateProcess: 0023:Call kernel32.CreateProcessA(406cd2f0 "C:\\Program Files\\Easy CD-DA Extractor

Re: ez-cdda sleep

2004-09-27 Thread Marcus Meissner
On Mon, Sep 27, 2004 at 01:45:29PM -0400, James Hawkins wrote: It is doing: > 0025:Starting process L"C:\\Program Files\\Easy CD-DA Extractor 7\\ezcddax.exe" > (entryproc=0x 761060) But "0025" never appears again (just as you pressed ctrl-c at the end). So this ezcddax.exe hangs somewhere, per