Ok, it turns out that the bug affecting testTimer.java was a completely
different problem that happened to have the same symptoms as the one Frederic
found. There is a race condition whenever the client needs to interrupt the
event loop to service a pgSetIdle or pgCustomizeSelect handler. The client lib
avoids this by sending a 'ping' packet that does nothing except interrupt the
event wait. If there is an event packet sent from pgserver after it stops
waiting for one, but before pgserver recieves the 'ping' packet, the client will
get both that event and the return code from 'ping'. The client code was
processing that extra event correctly, but forgot about the ping return code.
This would get the return codes out of sync, eventually causing a segfault.

testTimer.java functions correctly now. cli_c is completely 100% bug-free! ;)


Quoting Pascal Bauermeister <[EMAIL PROTECTED]>:

> Micah Dowty wrote:
> 
> > I don't have much time for a long explanation now, but I fixed the
> cli_c race
> > condition that was plagueing Frederic and Olivier. I wrote a little
> about what
> > was happening in the CVS log for netcore.c
> > 
> 
> 
> Micah,
> 
> thanks a lot for having raised this bug to #1 in your list. We
> appreciated this very much, because this blocks a major feature in a
> demo that is crucial for us.
> 
> The fix solves Fr�d�ric's problem.
> 
> Unfortunately it did not solve Olivier's. We'll prepare a sample code to
> exhibit the problem without the whole JVM + JavaApp stuff. In the mean
> time, do you suspect some potential and residual problem ?
> 
> Thank you very much for your help.
> 
> Regards,
> 
>    Pascal.
> 
> -- 
> Pascal Bauermeister
> Head of Software Development
> 
> SMARTDATA
> PSE-A / EPFL
> CH-1015 Lausanne
> 
> http://www.smartdata.ch
> mailto:[EMAIL PROTECTED]
> Phone: +41 (21) 693 84 98
> fax:   +41 (21) 693 84 91
> 



--
Only you can prevent creeping featurism!

_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/pgui-devel

Reply via email to