"Philippe Demaecker"<[hidden email]> wrote:
> 3. Below you can find 2 stack traces created by a ctrl-y at a moment the image was blocking. > Stack 1: it seems that SocketAccessor>>primAccept runs into an (EWouldBlock) error trying to report it, but blocking the image. What exactly do you mean by "blocking the image" ? Socket operations shouldn't be blocking the VM, i.e. only the process performing the socket operation should be blocked, any other runnable processes should be able to run as long as they get Processor time. Is something spinning at a high priority ? The listener process normally does run at an elevated priority. > Stack 2: the proxy setting up its listener process > > So, I have a few questions: > > 1. Why is the proxy starting a listener process? I don't understand we this is necessary when communication between Client and server happens using the sendRequest:? What am I missing? The client uses an Opentalk broker and currently there is no way to start a broker without an active listener. Yes it is not necessary and wasteful in a client only configuration but that's what it is atm. > 2. How can I create a situation where primAccept would return a EWOULDBLOCK error? Not sure about that. It likely depends on specifics of your platform. Can you provide more details about that ? > 3. Why is raising a EWOULDBLOCK in primAccept blocking the image? As I said, socket operations don't block the whole image, just the process performing them. My guess is that the listener process ended up spinning at a high priority and consequently starving all other lower priority processes (including any UI processes). You can try setting the listenerPriority: below 50 and see if it makes any difference. HTH, Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Hello Martin,
Thanks for replying. 1. The listener is running at prio 83, lowering this value does not seem to change anything. 2. It's running VW 7.4.1 on Windows, I will ask for more detailed information about the CPU and Windows version. 3. Blocking image = all VW windows are grey and unresponsive (you can try for yourself using the scenario from my original mail). You CAN still ctrl-y though, ending up in [1] OsNeedRetryError(GenericException)>>findHandlerContextFrom:markDebug: [2] OsNeedRetryError(GenericException)>>propagatePrivateFrom: [3] OsNeedRetryError(GenericException)>>propagateFrom: [4] OsNeedRetryError(GenericException)>>propagate [5] OsNeedRetryError(GenericException)>>raiseRequest [6] HandleRegistry>>evaluateWithFullProtection: [7] HandleRegistry>>registerValueOf: [8] SocketAccessor class(OSHandle class)>>handleValue: [9] SocketAccessor>>accept [10] optimized [] in Opentalk.ConnectionListener>>listenerProcessBody . It seem that, once primAccept has been raised, that evaluateWithFullProtection: does not seem to be able to propagate this exception further... . Also, is there any reason a connection would be made to the server process of the proxy? Thanks for your help! Philippe > 3. Below you can find 2 stack traces created by a ctrl-y at a moment the image was blocking. > Stack 1: it seems that SocketAccessor>>primAccept runs into an (EWouldBlock) error trying to report it, but blocking the image. What exactly do you mean by "blocking the image" ? Socket operations shouldn't be blocking the VM, i.e. only the process performing the socket operation should be blocked, any other runnable processes should be able to run as long as they get Processor time. Is something spinning at a high priority ? The listener process normally does run at an elevated priority. > 2. How can I create a situation where primAccept would return a EWOULDBLOCK error? Not sure about that. It likely depends on specifics of your platform. Can you provide more details about that ? > 3. Why is raising a EWOULDBLOCK in primAccept blocking the image? As I said, socket operations don't block the whole image, just the process performing them. My guess is that the listener process ended up spinning at a high priority and consequently starving all other lower priority processes (including any UI processes). You can try setting the listenerPriority: below 50 and see if it makes any difference. HTH, Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc WSOpentalkTestClient.st (2K) Download Attachment |
In reply to this post by kobetic
Philippe,
I'd suggest you upgrade to the latest 7.6
VM, as there are a few bugs relevant to sockets corrected there. None seem
immediately relevant to your case, but it'll probably make debugging easier for
the Cincom guys, and also prevent you running into those problems
later.
The 7.6VM should be available
here:
but currently it's down: 502 Bad
Gateway
The VM is a 'high priority upgrade' on the
first page after choosing VisualWorks.
If the server process opens a port, I
suppose in these days of port scanners we have to accept the chance that
somebody will access it, although that's presumably not the case
here.
Steve From: [hidden email] on behalf of Philippe Demaecker Sent: Thu 11/12/2009 18:07 To: [hidden email] Cc: [hidden email] Subject: Re: [vwnc] SocketAccessor>>accept blocks image? Hello Martin, _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by kobetic
Hi Martin,
Here's the platform info, should you require it: the client is running on Windows XP Pro, SP2 on a Pentium 4, on VW 7.4.1. Philippe -----Original Message----- From: Philippe Demaecker Sent: donderdag 12 november 2009 17:08 To: '[hidden email]' Cc: [hidden email] Subject: RE: [vwnc] SocketAccessor>>accept blocks image? Hello Martin, Thanks for replying. 1. The listener is running at prio 83, lowering this value does not seem to change anything. 2. It's running VW 7.4.1 on Windows, I will ask for more detailed information about the CPU and Windows version. 3. Blocking image = all VW windows are grey and unresponsive (you can try for yourself using the scenario from my original mail). You CAN still ctrl-y though, ending up in [1] OsNeedRetryError(GenericException)>>findHandlerContextFrom:markDebug: [2] OsNeedRetryError(GenericException)>>propagatePrivateFrom: [3] OsNeedRetryError(GenericException)>>propagateFrom: [4] OsNeedRetryError(GenericException)>>propagate [5] OsNeedRetryError(GenericException)>>raiseRequest [6] HandleRegistry>>evaluateWithFullProtection: [7] HandleRegistry>>registerValueOf: [8] SocketAccessor class(OSHandle class)>>handleValue: [9] SocketAccessor>>accept [10] optimized [] in Opentalk.ConnectionListener>>listenerProcessBody . It seem that, once primAccept has been raised, that evaluateWithFullProtection: does not seem to be able to propagate this exception further... . Also, is there any reason a connection would be made to the server process of the proxy? Thanks for your help! Philippe > 3. Below you can find 2 stack traces created by a ctrl-y at a moment the image was blocking. > Stack 1: it seems that SocketAccessor>>primAccept runs into an (EWouldBlock) error trying to report it, but blocking the image. What exactly do you mean by "blocking the image" ? Socket operations shouldn't be blocking the VM, i.e. only the process performing the socket operation should be blocked, any other runnable processes should be able to run as long as they get Processor time. Is something spinning at a high priority ? The listener process normally does run at an elevated priority. > 2. How can I create a situation where primAccept would return a EWOULDBLOCK error? Not sure about that. It likely depends on specifics of your platform. Can you provide more details about that ? > 3. Why is raising a EWOULDBLOCK in primAccept blocking the image? As I said, socket operations don't block the whole image, just the process performing them. My guess is that the listener process ended up spinning at a high priority and consequently starving all other lower priority processes (including any UI processes). You can try setting the listenerPriority: below 50 and see if it makes any difference. HTH, Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Steven Kelly
Hi Steven, Thanks for your suggestion. I tried with the new VM, but this
didn’t seem to do the trick. I’ll try to find out which program is trying to connect to
this port (and hope this is the actual problem *sigh*). Philippe From: Steven Kelly [mailto:[hidden email]] Philippe, I'd
suggest you upgrade to the latest 7.6 VM, as there are a few bugs relevant
to sockets corrected there. None seem immediately relevant to your case, but
it'll probably make debugging easier for the Cincom guys, and also prevent you
running into those problems later. The
7.6VM should be available here: but
currently it's down: 502 Bad Gateway The
VM is a 'high priority upgrade' on the first page after choosing VisualWorks. If
the server process opens a port, I suppose in these days of port scanners we
have to accept the chance that somebody will access it, although that's
presumably not the case here. Steve From: [hidden email] on behalf of
Philippe Demaecker Hello Martin, _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |