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. |
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 |
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 > > |
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 |
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 > |
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 >> > > |
Free forum by Nabble | Edit this page |