[Q] Stable Image of MVC?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[Q] Stable Image of MVC?

Chun, Sungjin
Hi,

I've managed to create 3.8 version of MVC only image (with Shout +  
Network-Kernel + Some Unicode Korean font). But found that when my  
network server code goes wrong, the whole GUI system seems to be  
wrong. For example, during this state, if I left click to display  
menu, two menus are displayed with cascaded style(wrong!) and I  
cannot select any of its item and windows.

Now, I want to know what version of squeak (MVC) is stable to be used  
for development/debugging and etc?

Thanks in advance.

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Stable Image of MVC?

David T. Lewis
On Fri, Jan 20, 2006 at 03:16:01PM +0900, Sungjin Chun wrote:

> Hi,
>
> I've managed to create 3.8 version of MVC only image (with Shout +  
> Network-Kernel + Some Unicode Korean font). But found that when my  
> network server code goes wrong, the whole GUI system seems to be  
> wrong. For example, during this state, if I left click to display  
> menu, two menus are displayed with cascaded style(wrong!) and I  
> cannot select any of its item and windows.
>
> Now, I want to know what version of squeak (MVC) is stable to be used  
> for development/debugging and etc?

I think the Squeak 3.6 is pretty good for MVC.

Is your problem reproducable? It would be good to report it on
Mantis if you can find out what triggers the problem.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [Q] Stable Image of MVC?

Chun, Sungjin
Though I'm not sure, I think it's very easy to make my image  
unusable :-) I'll try to find reproducible way of my problem. Thanks.

On Jan 20, 2006, at 8:24 PM, David T. Lewis wrote:

> On Fri, Jan 20, 2006 at 03:16:01PM +0900, Sungjin Chun wrote:
>> Hi,
>>
>> I've managed to create 3.8 version of MVC only image (with Shout +
>> Network-Kernel + Some Unicode Korean font). But found that when my
>> network server code goes wrong, the whole GUI system seems to be
>> wrong. For example, during this state, if I left click to display
>> menu, two menus are displayed with cascaded style(wrong!) and I
>> cannot select any of its item and windows.
>>
>> Now, I want to know what version of squeak (MVC) is stable to be used
>> for development/debugging and etc?
>
> I think the Squeak 3.6 is pretty good for MVC.
>
> Is your problem reproducable? It would be good to report it on
> Mantis if you can find out what triggers the problem.
>
> Dave
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Q] Stable Image of MVC?

Boris.Gaertner
In reply to this post by Chun, Sungjin

 "Sungjin Chun" <[hidden email]> wrote:

> Hi,
>
> I've managed to create 3.8 version of MVC only image (with Shout +  
> Network-Kernel + Some Unicode Korean font). But found that when my  
> network server code goes wrong, the whole GUI system seems to be  
> wrong. For example, during this state, if I left click to display  
> menu, two menus are displayed with cascaded style(wrong!) and I  
> cannot select any of its item and windows.
Two unuseable menues at a time indicate that you have problems
with processes. More specifically, that misbehavior indicates (in MVC,
Morphic does not exhibit that behavior) that a forked process
signalled an exception that was not handled by that process.
You an reproduce that problem quite easy:
In a MVC project, open a workspace and evaluate:

   [# ( ) at: 3] fork.

you get a red error notification and from that moment on
your GUI is seriously damaged. You should now drop
your image and begin again

When you evaluate

 [ [# ( ) at: 3] on: Error
                    do: [:ex | ]
]  fork

in an image with undamaged GUI you will not see an error
notification and your GUI remains intact.


> Now, I want to know what version of squeak (MVC) is stable to be used  
> for development/debugging and etc?
I think MVC is useable, but it has its limitations and that limitiations
force you to observe some rules. The rule is that, for MVC,
a process should always be provided with a very general
exception handler.

You can do that with the following general method  that
should be added to the instance protocol of BlockContext:

forkProtected
    " make sure that the process to be forked has a
      bullet-proof exception handling. "
 ^[[ self ] on: Exception
       do: [:ex | ]
   ] fork


For your actual application, you have to find out where the
unprotected process is forked. Perhaps somewhere in the network
code? That would be difficult to find. Once you have found that
process, you may think about ways to add a suitable exception handler.
Have you looked into the SqueakDebug.log  file? It may
contain some valueable hints.

Note also that processes are not always created with fork.
Sometimes they are created with  BolckContext>>newProcess.

Additional remark:

I tried these examples also with Squeak 3.2. Here there GUI
remains undamaged, but the error notification does not
pop up immediately.

> Thanks in advance.
Hope that helps
Boris

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Stable Image of MVC?

Chun, Sungjin
Thank you very much. This is exactly what I experienced and your  
suggestion solves my all my problem. Thank you again.

On Jan 21, 2006, at 4:04 AM, Boris Gaertner wrote:

>  "Sungjin Chun" <[hidden email]> wrote:
>
>> Hi,
>>
>> I've managed to create 3.8 version of MVC only image (with Shout +
>> Network-Kernel + Some Unicode Korean font). But found that when my
>> network server code goes wrong, the whole GUI system seems to be
>> wrong. For example, during this state, if I left click to display
>> menu, two menus are displayed with cascaded style(wrong!) and I
>> cannot select any of its item and windows.
> Two unuseable menues at a time indicate that you have problems
> with processes. More specifically, that misbehavior indicates (in MVC,
> Morphic does not exhibit that behavior) that a forked process
> signalled an exception that was not handled by that process.
> You an reproduce that problem quite easy:
> In a MVC project, open a workspace and evaluate:
>
>    [# ( ) at: 3] fork.
>
> you get a red error notification and from that moment on
> your GUI is seriously damaged. You should now drop
> your image and begin again
>
> When you evaluate
>
>  [ [# ( ) at: 3] on: Error
>                     do: [:ex | ]
> ]  fork
>
> in an image with undamaged GUI you will not see an error
> notification and your GUI remains intact.
>
>
>> Now, I want to know what version of squeak (MVC) is stable to be used
>> for development/debugging and etc?
> I think MVC is useable, but it has its limitations and that  
> limitiations
> force you to observe some rules. The rule is that, for MVC,
> a process should always be provided with a very general
> exception handler.
>
> You can do that with the following general method  that
> should be added to the instance protocol of BlockContext:
>
> forkProtected
>     " make sure that the process to be forked has a
>       bullet-proof exception handling. "
>  ^[[ self ] on: Exception
>        do: [:ex | ]
>    ] fork
>
>
> For your actual application, you have to find out where the
> unprotected process is forked. Perhaps somewhere in the network
> code? That would be difficult to find. Once you have found that
> process, you may think about ways to add a suitable exception handler.
> Have you looked into the SqueakDebug.log  file? It may
> contain some valueable hints.
>
> Note also that processes are not always created with fork.
> Sometimes they are created with  BolckContext>>newProcess.
>
> Additional remark:
>
> I tried these examples also with Squeak 3.2. Here there GUI
> remains undamaged, but the error notification does not
> pop up immediately.
>
>> Thanks in advance.
> Hope that helps
> Boris
>


Reply | Threaded
Open this post in threaded view
|

Re: [Q] Stable Image of MVC?

Chun, Sungjin
Hi,

your advice is very helpful to me. Now what I'm curious is that why  
only MVC has this problem?

On Jan 21, 2006, at 6:01 PM, Sungjin Chun wrote:

> Thank you very much. This is exactly what I experienced and your  
> suggestion solves my all my problem. Thank you again.
>
> On Jan 21, 2006, at 4:04 AM, Boris Gaertner wrote:
>
>>  "Sungjin Chun" <[hidden email]> wrote:
>>
>>> Hi,
>>>
>>> I've managed to create 3.8 version of MVC only image (with Shout +
>>> Network-Kernel + Some Unicode Korean font). But found that when my
>>> network server code goes wrong, the whole GUI system seems to be
>>> wrong. For example, during this state, if I left click to display
>>> menu, two menus are displayed with cascaded style(wrong!) and I
>>> cannot select any of its item and windows.
>> Two unuseable menues at a time indicate that you have problems
>> with processes. More specifically, that misbehavior indicates (in  
>> MVC,
>> Morphic does not exhibit that behavior) that a forked process
>> signalled an exception that was not handled by that process.
>> You an reproduce that problem quite easy:
>> In a MVC project, open a workspace and evaluate:
>>
>>    [# ( ) at: 3] fork.
>>
>> you get a red error notification and from that moment on
>> your GUI is seriously damaged. You should now drop
>> your image and begin again
>>
>> When you evaluate
>>
>>  [ [# ( ) at: 3] on: Error
>>                     do: [:ex | ]
>> ]  fork
>>
>> in an image with undamaged GUI you will not see an error
>> notification and your GUI remains intact.
>>
>>
>>> Now, I want to know what version of squeak (MVC) is stable to be  
>>> used
>>> for development/debugging and etc?
>> I think MVC is useable, but it has its limitations and that  
>> limitiations
>> force you to observe some rules. The rule is that, for MVC,
>> a process should always be provided with a very general
>> exception handler.
>>
>> You can do that with the following general method  that
>> should be added to the instance protocol of BlockContext:
>>
>> forkProtected
>>     " make sure that the process to be forked has a
>>       bullet-proof exception handling. "
>>  ^[[ self ] on: Exception
>>        do: [:ex | ]
>>    ] fork
>>
>>
>> For your actual application, you have to find out where the
>> unprotected process is forked. Perhaps somewhere in the network
>> code? That would be difficult to find. Once you have found that
>> process, you may think about ways to add a suitable exception  
>> handler.
>> Have you looked into the SqueakDebug.log  file? It may
>> contain some valueable hints.
>>
>> Note also that processes are not always created with fork.
>> Sometimes they are created with  BolckContext>>newProcess.
>>
>> Additional remark:
>>
>> I tried these examples also with Squeak 3.2. Here there GUI
>> remains undamaged, but the error notification does not
>> pop up immediately.
>>
>>> Thanks in advance.
>> Hope that helps
>> Boris
>>
>
>