Hi Denis, Thanks a lot for the testing and the error report; we need more Windows people. I just tested the same sequence on Mac OS X 10.8.2 with Pharo 20315 and for me the image never crashes when the port is already in use. It just doesn't work, the socket isValid but isListening is false because of the self serverSocket localPort = self port clause. The same about starting two servers on the same port in one image. Actually that is why I originally added the #isListening test. It all comes down to how the primitives are implemented, and for sockets they are for sure different on each platform. Sven On 29 Sep 2012, at 14:39, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hello.
I try it for latest pharo2.0 one click. Same results. I am on Windows 7.
First I register ZnServer at workspace:
server := ZnServer on: 10025. server start. server register server isRunning & server isListening.
Then save image. When I reopen image server is running. Now if I run other application at same port and try to open pharo It will closed with pharoDebug about anable to create socket. No chance to debug and fix it.
I think it is very bad behaviour because it make impossible to run my image at different computers just because another application holds socket.
There is one strange thing. When I open another ZnServer on another image both images works nice. "server isRunning & server isListening." returns true for both. And same happens if I doing it from one single image. It is possible to create two ZnServer's for same port. Only one accept requests from webbrowser for example. But when I closed it another ZnServer start accept requests. I think I just don't know something about sockets but it looks very strange to me.
Best regards, Denis
2012/9/24 Mariano Martinez Peck <marianopeck@gmail.com>
On Mon, Sep 24, 2012 at 10:44 AM, Sven Van Caekenberghe <sven@stfx.eu> wrote: The behavior you are seeing is standard behavior for a headless image, are you running headless or not ?
I think that if the problem comes from the startUp processing, this is the standard behavior whether it is headless or not. But I may be wrong.... Igor/Esteban? I remember discussing this....
On 24 Sep 2012, at 10:21, Denis Kudriashov <dionisiydk@gmail.com> wrote:
I am on Windows 7
2012/9/24 Denis Kudriashov <dionisiydk@gmail.com> Ok, I will look at mails.
In short: Start new seaside image. Add new zinc adaptor on port 10025 (for example). Save and close image. Block this port by firewall. Start image. It should close immediately.
I have pharoDebug with THERE_BE_DRAGONS_HERE Error: Cannot create socket on port 10025 24 September 2012 12:18:00.807 pm
VM: Win32 - IX86 - 6.1 - CoInterpreter VMMaker-oscog-EstebanLorenzano.161 uuid: 8e0c22c3-b48d-4d8d-a7f9-8a75dc246f28 Jul 11 2012, StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.161 uuid: 8e0c22c3-b48d-4d8d-a7f9-8a75dc246f28 Jul 11 2012, https://git.gitorious.org/cogvm/blessed.git Commit: 8eb3f452262d1b213fd1b6fd3cb682e292945ccf Date: Mon Jul 9 15:23:19 2012 +0200 By: Esteban Lorenzano <estebanlm@gmail.com> Image: Pharo1.4 [Latest update: #14456]
2012/9/24 Stéphane Ducasse <stephane.ducasse@inria.fr> Check the mailing-list because this was already discussed. igor and other spent time to streamline this process in particular in headless mode.
So can you tell us a bit more what you are doing and when?
Stef
Hello.
I found very bad behaviour. I use Pharo1.4. And when there is some errors at startup Image just closed. It is horrible
I have image with seaside application which open socket at startup. So when I move to another computer where this port is busy (or closed by firewall) Pharo opened and immediately closed. No chance to debug and fix it.
What you think about it? Is it fixed already at pharo 2.0?
Best regards Denis
On 24 Sep 2012, at 10:21, Denis Kudriashov <dionisiydk@gmail.com> wrote:
I am on Windows 7
2012/9/24 Denis Kudriashov <dionisiydk@gmail.com> Ok, I will look at mails.
In short: Start new seaside image. Add new zinc adaptor on port 10025 (for example). Save and close image. Block this port by firewall. Start image. It should close immediately.
I have pharoDebug with THERE_BE_DRAGONS_HERE Error: Cannot create socket on port 10025 24 September 2012 12:18:00.807 pm
VM: Win32 - IX86 - 6.1 - CoInterpreter VMMaker-oscog-EstebanLorenzano.161 uuid: 8e0c22c3-b48d-4d8d-a7f9-8a75dc246f28 Jul 11 2012, StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.161 uuid: 8e0c22c3-b48d-4d8d-a7f9-8a75dc246f28 Jul 11 2012, https://git.gitorious.org/cogvm/blessed.git Commit: 8eb3f452262d1b213fd1b6fd3cb682e292945ccf Date: Mon Jul 9 15:23:19 2012 +0200 By: Esteban Lorenzano <estebanlm@gmail.com> Image: Pharo1.4 [Latest update: #14456]
2012/9/24 Stéphane Ducasse <stephane.ducasse@inria.fr> Check the mailing-list because this was already discussed. igor and other spent time to streamline this process in particular in headless mode.
So can you tell us a bit more what you are doing and when?
Stef
Hello.
I found very bad behaviour. I use Pharo1.4. And when there is some errors at startup Image just closed. It is horrible
I have image with seaside application which open socket at startup. So when I move to another computer where this port is busy (or closed by firewall) Pharo opened and immediately closed. No chance to debug and fix it.
What you think about it? Is it fixed already at pharo 2.0?
Best regards Denis
-- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill