Upgrade & GemKit

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

Upgrade & GemKit

Otto Behrens

Hello,

We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process of upgrading to GemStone 6.1.5 (can you believe). (If you thought this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4 with Store not too long ago!)

We are using GemKit for Store. I am battling to get hold of the pundle either on the public Cincom repository or elsewhere (“http://wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home of the wiki). Can anyone please help me with where & how to get hold of the latest GemKit for Store? It appears as if I have lost some code changes to GemStone kernel classes with the upgrade.

Thanks

Otto Behrens

Reply | Threaded
Open this post in threaded view
|

AW: Upgrade & GemKit

Georg Heeg

Otto,

I know that Joe Bacaskas and Monty Williams helped me a couple of times when both Siemens and UBS used it. Both companies implemented enhancements which than got back to Joe.

Georg

 


Von: Otto Behrens [mailto:[hidden email]]
Gesendet: Dienstag, 3. O
ktober 2006 20:27
An: Vwnc
Betreff: Upgrade & GemKit

 

Hello,

We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process of upgrading to GemStone 6.1.5 (can you believe). (If you thought this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4 with Store not too long ago!)

We are using GemKit for Store. I am battling to get hold of the pundle either on the public Cincom repository or elsewhere (“http://wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home of the wiki). Can anyone please help me with where & how to get hold of the latest GemKit for Store? It appears as if I have lost some code changes to GemStone kernel classes with the upgrade.

Thanks

Otto Behrens

Reply | Threaded
Open this post in threaded view
|

RE: Upgrade & GemKit

Paul Baumann
In reply to this post by Otto Behrens
We got the latest open-source licensed version from GemStone (and Joe) several months ago and then paid GemStone to fix a few problems. Following that, the code has been almost completely rewritten by ICE to fix problems and add missing functionality. The latest version we use has major enhancements and has had a solid code base for the past month. It was thought that we'd return the new version to the open-source community by publishing it on SourceForge. I'll see if that can be done.
 
If you are just looking for just the GS code for the old version then that is attached. The new version of this file only fixes a problem you aren't likely to encounter with the old version and it removes code that is no longer necessary.
 
Paul Baumann 
IntercontinentalExchange | ICE
 


From: Georg Heeg [mailto:[hidden email]]
Sent: Tuesday, October 03, 2006 4:10 PM
To: [hidden email]; 'Vwnc'
Cc: J Com; Monty Williams
Subject: AW: Upgrade & GemKit

Otto,

I know that Joe Bacaskas and Monty Williams helped me a couple of times when both Siemens and UBS used it. Both companies implemented enhancements which than got back to Joe.

Georg

 


Von: Otto Behrens [mailto:[hidden email]]
Gesendet: Dienstag, 3. O
ktober 2006 20:27
An: Vwnc
Betreff: Upgrade & GemKit

 

Hello,

We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process of upgrading to GemStone 6.1.5 (can you believe). (If you thought this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4 with Store not too long ago!)

We are using GemKit for Store. I am battling to get hold of the pundle either on the public Cincom repository or elsewhere (“http://wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home of the wiki). Can anyone please help me with where & how to get hold of the latest GemKit for Store? It appears as if I have lost some code changes to GemStone kernel classes with the upgrade.

Thanks

Otto Behrens

 

 

 


This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.


vw-gemkit.gs (43K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade & GemKit

Joseph Bacanskas-4
In reply to this post by Otto Behrens
Hi Otto:

You can start with this.  I read Paul Baumann's post and will be  
thrilled if the version he (and his team mates?) has re-written is  
made available.

On Oct 3, 2006, at 11:27 AM, Otto Behrens wrote:

> Hello,
>
> We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process  
> of upgrading to GemStone 6.1.5 (can you believe). (If you thought  
> this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4  
> with Store not too long ago!)
>
> We are using GemKit for Store. I am battling to get hold of the  
> pundle either on the public Cincom repository or elsewhere (“http://
> wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home  
> of the wiki). Can anyone please help me with where & how to get  
> hold of the latest GemKit for Store? It appears as if I have lost  
> some code changes to GemStone kernel classes with the upgrade.
>
> Thanks
>
> Otto Behrens
>
>


gbc.tar.gz (61K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Upgrade & GemKit

OCIT
sorry but does the GemKit for Store work like any other Store access layer  
i.e. does this effectively allow one to use Gemstone as a StORE repository?

thanks

-Charles

On Tue, 03 Oct 2006 21:11:11 -0400, Joseph Bacanskas  
<[hidden email]> wrote:

> Hi Otto:
>
> You can start with this.  I read Paul Baumann's post and will be
> thrilled if the version he (and his team mates?) has re-written is
> made available.
>
> On Oct 3, 2006, at 11:27 AM, Otto Behrens wrote:
>
>> Hello,
>>
>> We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process
>> of upgrading to GemStone 6.1.5 (can you believe). (If you thought
>> this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4
>> with Store not too long ago!)
>>
>> We are using GemKit for Store. I am battling to get hold of the
>> pundle either on the public Cincom repository or elsewhere (“http://
>> wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home
>> of the wiki). Can anyone please help me with where & how to get
>> hold of the latest GemKit for Store? It appears as if I have lost
>> some code changes to GemStone kernel classes with the upgrade.
>>
>> Thanks
>>
>> Otto Behrens
>>
>>
>



--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Reply | Threaded
Open this post in threaded view
|

Re: Upgrade & GemKit

Joseph Bacanskas-4
Hi Charles:

GemkitForStORE is not what you think.  It uses StORE as the SCM for  
GemStone Server code.  It does not use GemStone as yet another place  
to dump VW code.  StORE is designed to to use an RDB at such a low  
level that it is a waste of time to try to use GemStone as a StORE  
repository.  If you look at the low level StORE classes, they assume  
an RDB.  They are hardly even objects.  I am speaking from  
experience; I tried to make StORE use GemStone as its repository, not  
once, but twice before I gave up. :-(

On Oct 3, 2006, at 8:13 PM, Charles A. Monteiro wrote:

> sorry but does the GemKit for Store work like any other Store  
> access layer i.e. does this effectively allow one to use Gemstone  
> as a StORE repository?
>
> thanks
>
> -Charles
>
> On Tue, 03 Oct 2006 21:11:11 -0400, Joseph Bacanskas  
> <[hidden email]> wrote:
>
>> Hi Otto:
>>
>> You can start with this.  I read Paul Baumann's post and will be
>> thrilled if the version he (and his team mates?) has re-written is
>> made available.
>>
>> On Oct 3, 2006, at 11:27 AM, Otto Behrens wrote:
>>
>>> Hello,
>>>
>>> We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process
>>> of upgrading to GemStone 6.1.5 (can you believe). (If you thought
>>> this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4
>>> with Store not too long ago!)
>>>
>>> We are using GemKit for Store. I am battling to get hold of the
>>> pundle either on the public Cincom repository or elsewhere (“http://
>>> wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home
>>> of the wiki). Can anyone please help me with where & how to get
>>> hold of the latest GemKit for Store? It appears as if I have lost
>>> some code changes to GemStone kernel classes with the upgrade.
>>>
>>> Thanks
>>>
>>> Otto Behrens
>>>
>>>
>>
>
>
>
> --
> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
>

Thanks!!
Joseph Bacanskas [|]
--- I use Smalltalk.  My amp goes to eleven.

Reply | Threaded
Open this post in threaded view
|

RE: Upgrade & GemKit

Otto Behrens
In reply to this post by Paul Baumann

We got the latest open-source licensed version from GemStone (and Joe) several months ago and then paid GemStone to fix a few problems. Following that, the code has been almost completely rewritten by ICE to fix problems and add missing functionality. The latest version we use has major enhancements and has had a solid code base for the past month. It was thought that we'd return the new version to the open-source community by publishing it on SourceForge. I'll see if that can be done.

[Otto] That would be very cool, thanks.

 

If you are just looking for just the GS code for the old version then that is attached. The new version of this file only fixes a problem you aren't likely to encounter with the old version and it removes code that is no longer necessary.

 

Paul Baumann 
IntercontinentalExchange | ICE

 

 


From: Georg Heeg [mailto:[hidden email]]
Sent: Tuesday, October 03, 2006 4:10 PM
To: [hidden email]; 'Vwnc'
Cc: J Com; Monty Williams
Subject: AW: Upgrade & GemKit

Otto,

I know that Joe Bacaskas and Monty Williams helped me a couple of times when both Siemens and UBS used it. Both companies implemented enhancements which than got back to Joe.

Georg

 


Von: Otto Behrens [mailto:[hidden email]]
Gesendet: Dienstag, 3. O
ktober 2006 20:27
An: Vwnc
Betreff: Upgrade & GemKit

 

Hello,

We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process of upgrading to GemStone 6.1.5 (can you believe). (If you thought this is a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4 with Store not too long ago!)

We are using GemKit for Store. I am battling to get hold of the pundle either on the public Cincom repository or elsewhere (“http://wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me the home of the wiki). Can anyone please help me with where & how to get hold of the latest GemKit for Store? It appears as if I have lost some code changes to GemStone kernel classes with the upgrade.

Thanks

Otto Behrens

 

 

 


This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.

Reply | Threaded
Open this post in threaded view
|

Re: Upgrade & GemKit

Eric Winger
In reply to this post by Paul Baumann

On Oct 3, 2006, at 1:47 PM, Paul Baumann wrote:

> We got the latest open-source licensed version from GemStone (and
> Joe) several months ago and then paid GemStone to fix a few problems.
> Following that, the code has been almost completely rewritten by ICE
> to fix problems and add missing functionality. The latest version we
> use has major enhancements and has had a solid code base for the past
> month. It was thought that we'd return the new version to the
> open-source community by publishing it on SourceForge. I'll see if
> that can be done.

That'd be great! Would you also consider putting it in the Store public
repository? Does your version require additional files? I believe this
was why it wasn't put into the public repository in the first place.

Eric

>  
> If you are just looking for just the GS code for the old version then
> that is attached. The new version of this file only fixes a problem
> you aren't likely to encounter with the old version and it removes
> code that is no longer necessary.
>  
> Paul Baumann 
> IntercontinentalExchange | ICE
>  
>
> From: Georg Heeg [mailto:[hidden email]]
> Sent: Tuesday, October 03, 2006 4:10 PM
> To: [hidden email]; 'Vwnc'
> Cc: J Com; Monty Williams
> Subject: AW: Upgrade & GemKit
>
>
> Otto,
>
> I know that Joe Bacaskas and Monty Williams helped me a couple of
> times when both Siemens and UBS used it. Both companies implemented
> enhancements which than got back to Joe.
>
> Georg
>
>  
>
> Von: Otto Behrens [mailto:[hidden email]]
> Gesendet: Dienstag, 3. Oktober 2006 20:27
> An: Vwnc
> Betreff: Upgrade & GemKit
>
>  
>
> Hello,
>
> We are using VW 7.4.1 with GemStone 5.1.5.1. We are in the process of
> upgrading to GemStone 6.1.5 (can you believe). (If you thought this is
> a big one, we upgraded from VW 2.5.2 with ENVY to VW 7.4 with Store
> not too long ago!)
>
> We are using GemKit for Store. I am battling to get hold of the pundle
> either on the public Cincom repository or elsewhere
> (“http://wiki.cs.uiuc.edu/DOWNLOAD/GemStone/gemkit.tar.gz” gives me
> the home of the wiki). Can anyone please help me with where & how to
> get hold of the latest GemKit for Store? It appears as if I have lost
> some code changes to GemStone kernel classes with the upgrade.
>
> Thanks
>
> Otto Behrens
>>  
>>
>>  
>>
>>  
>>
>> This message may contain confidential information and is intended for
>> specific recipients unless explicitly noted otherwise. If you have
>> reason to believe you are not an intended recipient of this message,
>> please delete it and notify the sender. This message may not
>> represent the opinion of IntercontinentalExchange, Inc. (ICE), its
>> subsidiaries or affiliates, and does not constitute a contract or
>> guarantee. Unencrypted electronic mail is not secure and the
>> recipient of this message is expected to provide safeguards from
>> viruses and pursue alternate means of communication where privacy or
>> a binding message is desired.
> <vw-gemkit.gs>
Reply | Threaded
Open this post in threaded view
|

RE: Upgrade & GemKit

Paul Baumann
In reply to this post by Otto Behrens
The latest ICE version of GemKit still has a separate .gs file containing GemStone code. The ICE version allows for code partitioning using class extensions, so the GemKit extensions to classes of GS_Globals can exist in a parcel/package separate from GS_Globals; however, there is a chicken-and-egg thing. It is possible to copy one or two methods of GS_GemKit into the gem to get it started, but right now a .gs filein is the simplest way to get the prerequisite GS code installed.
 
I have no strong preference for where the code is released. Joe has done a lot to promote and evolve the initial code that came out of Camp Smalltalk 4. I encourage him to continue to do so going forward and hope that others will join in too. I think the code needs to be in some form of public repository though.
 
The release idea has been presented to ICE legal. I couldn't say when or if a release could happen, but I'll post an announcement if it does.
 
Paul Baumann 
IntercontinentalExchange | ICE


From: Eric Winger [mailto:[hidden email]]
Sent: Wednesday, October 04, 2006 11:43 AM
To: Vwnc
Subject: Re: Upgrade & GemKit



On Oct 3, 2006, at 1:47 PM, Paul Baumann wrote:

We got the latest open-source licensed version from GemStone (and Joe) several months ago and then paid GemStone to fix a few problems. Following that, the code has been almost completely rewritten by ICE to fix problems and add missing functionality. The latest version we use has major enhancements and has had a solid code base for the past month. It was thought that we'd return the new version to the open-source community by publishing it on SourceForge. I'll see if that can be done.

That'd be great! Would you also consider putting it in the Store public repository? Does your version require additional files? I believe this was why it wasn't put into the public repository in the first place.

Eric
 

 

 

 


This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.

Reply | Threaded
Open this post in threaded view
|

Re: Upgrade & GemKit

Joseph Bacanskas-4
Hi Eric, Paul:

IMHO, the GemkitForStORE will probably remain bifrucated, with a  
parcel and a gs-filein.  James Robinson says that StORE now supports  
"file attachments".  If I/we can get the gemkit gs-filein to be an  
"attachment" to the parcel(s), then the public StORE is the perfect  
place for it.

I've just changed jobs, and after 5 years in VAST-land, I am again  
using VW at work.  I look forward to getting the ICE code and moving  
it forward.

Cheers!!

On Oct 4, 2006, at 10:19 AM, Paul Baumann wrote:

> The latest ICE version of GemKit still has a separate .gs file  
> containing GemStone code. The ICE version allows for code  
> partitioning using class extensions, so the GemKit extensions to  
> classes of GS_Globals can exist in a parcel/package separate from  
> GS_Globals; however, there is a chicken-and-egg thing. It is  
> possible to copy one or two methods of GS_GemKit into the gem to  
> get it started, but right now a .gs filein is the simplest way to  
> get the prerequisite GS code installed.
>
> I have no strong preference for where the code is released. Joe has  
> done a lot to promote and evolve the initial code that came out of  
> Camp Smalltalk 4. I encourage him to continue to do so going  
> forward and hope that others will join in too. I think the code  
> needs to be in some form of public repository though.
>
> The release idea has been presented to ICE legal. I couldn't say  
> when or if a release could happen, but I'll post an announcement if  
> it does.
>
> Paul Baumann
> IntercontinentalExchange | ICE
>
> From: Eric Winger [mailto:[hidden email]]
> Sent: Wednesday, October 04, 2006 11:43 AM
> To: Vwnc
> Subject: Re: Upgrade & GemKit
>
>
>
> On Oct 3, 2006, at 1:47 PM, Paul Baumann wrote:
>
> We got the latest open-source licensed version from GemStone (and  
> Joe) several months ago and then paid GemStone to fix a few  
> problems. Following that, the code has been almost completely  
> rewritten by ICE to fix problems and add missing functionality. The  
> latest version we use has major enhancements and has had a solid  
> code base for the past month. It was thought that we'd return the  
> new version to the open-source community by publishing it on  
> SourceForge. I'll see if that can be done.
>
> That'd be great! Would you also consider putting it in the Store  
> public repository? Does your version require additional files? I  
> believe this was why it wasn't put into the public repository in  
> the first place.
>
> Eric
>
>
>
>
> This message may contain confidential information and is intended  
> for specific recipients unless explicitly noted otherwise. If you  
> have reason to believe you are not an intended recipient of this  
> message, please delete it and notify the sender. This message may  
> not represent the opinion of IntercontinentalExchange, Inc. (ICE),  
> its subsidiaries or affiliates, and does not constitute a contract  
> or guarantee. Unencrypted electronic mail is not secure and the  
> recipient of this message is expected to provide safeguards from  
> viruses and pursue alternate means of communication where privacy  
> or a binding message is desired.
>

Thanks!!
Joseph Bacanskas [|]
--- I use Smalltalk.  My amp goes to eleven.

Reply | Threaded
Open this post in threaded view
|

Re: Upgrade & GemKit

Martin McClure
Joseph Bacanskas wrote:
> Hi Eric, Paul:
>
> IMHO, the GemkitForStORE will probably remain bifrucated, with a parcel
> and a gs-filein.  James Robinson says that StORE now supports "file
> attachments".  If I/we can get the gemkit gs-filein to be an
> "attachment" to the parcel(s), then the public StORE is the perfect
> place for it.

There is a way to get it into Store today, though it's not particularly
elegant.

Here at GemStone, we have some tests that require gs-fileins. We put the
server code in Store filein string in a method as a string literal. We
then file it in through GBS like this:

        | aStream aClReader |
        aStream := GbsPDPDebuggerTest gemStoneFileInString readStream.
        aClReader := GbxClassReader on: aStream.
        aClReader fileIn
                       
You could use this kind of mechanism to implement an "install Gemkit on
server" menu command.

Regards,

-Martin

Reply | Threaded
Open this post in threaded view
|

RE: Upgrade & GemKit

Paul Baumann
In reply to this post by Otto Behrens
Hi Martin,

Thanks for the tip.

StORE records have a way to associate comments. I was thinking I could
probably store the GS code as a comment using something like #commentStr
and #commentStr:, but I haven't looked into it. GemKit for ENVY (and
probably GBS) used the same technique to store the GS code with the
method that could fetch the record for itself and return the comment
associated with the record.

That probably isn't necessary though. The GemKit code lives in a
GS_GemKit parcel/package and VW loads it despite missing dependencies.
The GS code is visible and a method could be written to push the methods
to GS. It should be easy to do, and now there appears to be a need for
it. I prefer this approach because it is easier to maintain a single
copy of code and it is just an extension once Globals are downloaded
from GS.

BTW, here are some of the improvements in the ICE GemKit:

It is now based on an object model that makes it maintainable. Both GS
and client VW code can be browsed together. It can compare versions and
show differences. It can 'exclude similar' to ignore formatting
differences alone. It loads huge amounts of code in just a few seconds.
It has text emphasis. It works with multiple packages or bundles at a
time. Package names no longer need to match their GS namespace--but they
do by default. Client namespaces match GS namespaces in every regard
including user symbol list visibility. Users code declarations are made
(including user-specific UserGlobals). Shared variables and namespace
aliases are declared. GS subclasses of nil work. Class defintions
compare as they should. GS code compiles in the client. Code can be
partitioned using class extensions in other packages. Window panes can
be resized or collapsed and text panes automatically transform to make
best use of screen space. Code scrolls together in both comparison panes
and you have the option to show both with the same formatting. The
definitions are ordered so that all can be selected and applied to GS in
a valid sequence. Tools have been added for generating GS patch files
between code versions. All code (not just differences) is retrieved and
shown by default. The view to client code is dynamic, the GS code is a
'snapshot'. After "compare with GS" and then "exclude similar" you can
select all and update one side or another to bring code into alignment.
The GBS instance migration dialog was replaced with one that is actually
useful and that can survive session changes.

This is what came to mind when I listed changes earlier today. I'd show
a screen shot but it isn't likely to make it through vwnc filters. I'm
sure I've forgotten to mention half the new stuff. I'm hopeful it will
be released, but it will be at least couple weeks before I'd get an OK
to release.

Regards,

Paul Baumann
IntercontinentalExchange | ICE


-----Original Message-----
From: Martin McClure [mailto:[hidden email]]
Sent: Thursday, October 05, 2006 2:25 PM
To: Joseph Bacanskas
Cc: Vwnc List; Eric Winger; Paul Baumann
Subject: Re: Upgrade & GemKit

Joseph Bacanskas wrote:
> Hi Eric, Paul:
>
> IMHO, the GemkitForStORE will probably remain bifrucated, with a
> parcel and a gs-filein.  James Robinson says that StORE now supports
> "file attachments".  If I/we can get the gemkit gs-filein to be an
> "attachment" to the parcel(s), then the public StORE is the perfect
> place for it.

There is a way to get it into Store today, though it's not particularly
elegant.

Here at GemStone, we have some tests that require gs-fileins. We put the
server code in Store filein string in a method as a string literal. We
then file it in through GBS like this:

        | aStream aClReader |
        aStream := GbsPDPDebuggerTest gemStoneFileInString readStream.
        aClReader := GbxClassReader on: aStream.
        aClReader fileIn
                       
You could use this kind of mechanism to implement an "install Gemkit on
server" menu command.

Regards,

-Martin
 
 
 
--------------------------------------------------------
This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.  
 

Reply | Threaded
Open this post in threaded view
|

[7.4]Priority out of range error

Carl Gundel
In reply to this post by Paul Baumann
I have an image where I get this error now when an exception happens.

Is this a known bug?  I've been meaning to upgrade to 7.4.1.  I went and
looked at the release notes but didn't see any mention of such a problem.

-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com

Unhandled exception: priority out of range
Process(Object)>>error:
Process>>priority:
Process class>>forBlock:priority:
BlockClosure>>forkAt:
WindowManager>>terminate
MessageSend>>value
optimized [] in DeferrableAction>>message:
optimized [] in DeferrableAction>>execute
BlockClosure>>ensure:
DeferrableAction>>execute
DeferrableAction>>dispatch
DeferrableAction(Event)>>dispatchForWindowManager:
optimized [] in WindowManager>>safelyDispatchForWindowManager:
BlockClosure>>on:do:
WindowManager>>safelyDispatchForWindowManager:
WindowManager>>processNextEvent
optimized [] in [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in Process class>>forBlock:priority:

----------------------------------------------------------------------
Process(Object)>>error:
Receiver:
 a Process
Instance Variables:
 nextLink = nil
 suspendedContext = optimized [] in Process class>>forBlock:priority:
 priority = 1
 myList = nil
 depth = nil
 hostThreadKey = nil
 interruptProtect = a Semaphore[0]
 environment = nil
 isSystem = false
 name = nil
 inDebug = nil
Arguments:
 aStringOrMessage = an UserMessage('priority out of range',
#ErrorPriorityOutOfRange, #dialogs)
Temporaries:
 lastNonSpace = 21
 aString = 'priority out of range'
Context PC = 18

----------------------------------------------------------------------
Process>>priority:
Receiver:
 a Process
Instance Variables:
 nextLink = nil
 suspendedContext = optimized [] in Process class>>forBlock:priority:
 priority = 1
 myList = nil
 depth = nil
 hostThreadKey = nil
 interruptProtect = a Semaphore[0]
 environment = nil
 isSystem = false
 name = nil
 inDebug = nil
Arguments:
 anInteger = 101
Context PC = 19

----------------------------------------------------------------------
Process class>>forBlock:priority:
Receiver:
 a Process class
Instance Variables:
 superclass = Link
 methodDict = a MethodDictionary[52]
 format = 16395
 subclasses = nil
 instanceVariables = an Array[10]
 organization = ('initialization' #initialize #isSystemProcess:)
('changing process state' #interruptWith: #pause #proceed #resume #suspend
#suspendResumable:do: #suspendUnconditionally #terminate
#terminateWithExtremePrejudice #yield)
('changing suspended state' #install: #popTo:)
('accessing' #isSystemProcess #name #name: #priority #priority:
#processCreationMethod #processState #setIsSystemProcess #suspendedContext
#suspendingList #windowManager)
('printing' #dumpStackToFileNamed: #printOn: #printStackOn: #stackString)
('privileged evaluation' #uninterruptablyDo:)
('tracing' #traceFrom:)
('native thread support' #attachToThread #detachFromThread
#isAttachedToThread #primThreadAttachment:)
('private' #primTerminate #scopeEnvironmentWhile: #setContext:andList:
#suspendedContext:)
('debugging' #activeController #debug #debugDebugger #disableDebug
#enableDebug #openDebugger #privateDebug)
('environment' #environment #environment: #environmentAt:
#environmentAt:put:)
('testing' #isTerminated #isUnderDebug)

 name = #Process
 classPool = a NameSpaceOfClass[0]
 environment = a NameSpace[232]
Arguments:
 aBlock = BlockClosure [] in WindowManager>>terminate
 anInteger = 101
Temporaries:
 newProcess = a Process in optimized [] in Process class>>forBlock:priority:
Context PC = 17

----------------------------------------------------------------------
BlockClosure>>forkAt:
Receiver:
 a BlockClosure
Instance Variables:
 method = CompiledBlock [] in WindowManager>>terminate
 outerContext = nil
 copiedValues = a WindowManager
Arguments:
 priority = 101
Temporaries:
 forkedProcess = nil
Context PC = 5

----------------------------------------------------------------------
WindowManager>>terminate
Receiver:
 a WindowManager
Instance Variables:
 windows = an OrderedCollection[0]
 activeController = nil
 interruptLock = false
 outstandingMetaOrDamage = false
 openInProgress = false
 eventQueue = an EventQueue
 baseProcess = a Process in Semaphore>>wait
 dontFilterEvents = false
Context PC = 20

----------------------------------------------------------------------
MessageSend>>value
Receiver:
 a MessageSend
Instance Variables:
 selector = #terminate
 args = an Array[0]
 receiver = a WindowManager
Context PC = 5

----------------------------------------------------------------------
optimized [] in DeferrableAction>>message:
Receiver:
 an UndefinedObject
Temporaries:
 .aMessage = a MessageSend with receiver: a WindowManager, selector:
#terminate and arguments: #()
Context PC = 5

----------------------------------------------------------------------
optimized [] in DeferrableAction>>execute
Receiver:
 an UndefinedObject
Temporaries:
 .self = a DeferrableAction
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
 a BlockClosure
Instance Variables:
 method = CompiledBlock [] in DeferrableAction>>execute
 outerContext = nil
 copiedValues = a DeferrableAction
Arguments:
 aBlock = BlockClosure [] in DeferrableAction>>execute
Temporaries:
 result = nil
Context PC = 4

----------------------------------------------------------------------
DeferrableAction>>execute
Receiver:
 a DeferrableAction
Instance Variables:
 time = nil
 initiator = nil
 window = nil
 semaphore = a Semaphore[0]
 result = nil
 action = BlockClosure [] in DeferrableAction>>message:
Context PC = 11

----------------------------------------------------------------------
DeferrableAction>>dispatch
Receiver:
 a DeferrableAction
Instance Variables:
 time = nil
 initiator = nil
 window = nil
 semaphore = a Semaphore[0]
 result = nil
 action = BlockClosure [] in DeferrableAction>>message:
Context PC = 4

----------------------------------------------------------------------
DeferrableAction(Event)>>dispatchForWindowManager:
Receiver:
 a DeferrableAction
Instance Variables:
 time = nil
 initiator = nil
 window = nil
 semaphore = a Semaphore[0]
 result = nil
 action = BlockClosure [] in DeferrableAction>>message:
Arguments:
 aWinMgr = a WindowManager
Context PC = 4

----------------------------------------------------------------------
optimized [] in WindowManager>>safelyDispatchForWindowManager:
Receiver:
 an UndefinedObject
Temporaries:
 .event = a DeferrableAction
 .self = a WindowManager
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
 a BlockClosure
Instance Variables:
 method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
 outerContext = nil
 copiedValues = an Array[2]
Arguments:
 anExceptionSelector = BadControllerError
 handlerBlock = BlockClosure [] in
WindowManager>>safelyDispatchForWindowManager:
Context PC = 18

----------------------------------------------------------------------
WindowManager>>safelyDispatchForWindowManager:
Receiver:
 a WindowManager
Instance Variables:
 windows = an OrderedCollection[0]
 activeController = nil
 interruptLock = false
 outstandingMetaOrDamage = false
 openInProgress = false
 eventQueue = an EventQueue
 baseProcess = a Process in Semaphore>>wait
 dontFilterEvents = false
Arguments:
 event = a DeferrableAction
Context PC = 13

----------------------------------------------------------------------
WindowManager>>processNextEvent
Receiver:
 a WindowManager
Instance Variables:
 windows = an OrderedCollection[0]
 activeController = nil
 interruptLock = false
 outstandingMetaOrDamage = false
 openInProgress = false
 eventQueue = an EventQueue
 baseProcess = a Process in Semaphore>>wait
 dontFilterEvents = false
Temporaries:
 event = a DeferrableAction
Context PC = 9

----------------------------------------------------------------------
optimized [] in [] in WindowManager>>newProcess
Receiver:
 an UndefinedObject
Temporaries:
 .self = a WindowManager
Context PC = 13

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
 a BlockClosure
Instance Variables:
 method = CompiledBlock [] in [] in WindowManager>>newProcess
 outerContext = nil
 copiedValues = a WindowManager
Arguments:
 anExceptionSelector = TerminateException
 handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
Context PC = 18

----------------------------------------------------------------------
optimized [] in WindowManager>>newProcess
Receiver:
 an UndefinedObject
Temporaries:
 .self = a WindowManager
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
 a BlockClosure
Instance Variables:
 method = CompiledBlock [] in WindowManager>>newProcess
 outerContext = nil
 copiedValues = a WindowManager
Arguments:
 anExceptionSelector = TerminateException
 handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
Context PC = 18

----------------------------------------------------------------------
optimized [] in Process class>>forBlock:priority:
Receiver:
 an UndefinedObject
Temporaries:
 .aBlock = BlockClosure [] in WindowManager>>newProcess
Context PC = 9


Reply | Threaded
Open this post in threaded view
|

Re: [7.4]Priority out of range error

Carl Gundel
Oh yeah, I meant to add that once the walkback appears if I close it I get
another one identical to it.  So I can only minimize it in order to get on
with something else.

-Carl
----- Original Message -----
From: "Carl Gundel" <[hidden email]>
To: "Vwnc" <[hidden email]>
Sent: Monday, October 09, 2006 2:49 PM
Subject: [7.4]Priority out of range error


>I have an image where I get this error now when an exception happens.
>
> Is this a known bug?  I've been meaning to upgrade to 7.4.1.  I went and
> looked at the release notes but didn't see any mention of such a problem.
>
> -Carl Gundel, author of Liberty BASIC
> http://www.libertybasic.com
>
> Unhandled exception: priority out of range
> Process(Object)>>error:
> Process>>priority:
> Process class>>forBlock:priority:
> BlockClosure>>forkAt:
> WindowManager>>terminate
> MessageSend>>value
> optimized [] in DeferrableAction>>message:
> optimized [] in DeferrableAction>>execute
> BlockClosure>>ensure:
> DeferrableAction>>execute
> DeferrableAction>>dispatch
> DeferrableAction(Event)>>dispatchForWindowManager:
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> BlockClosure>>on:do:
> WindowManager>>safelyDispatchForWindowManager:
> WindowManager>>processNextEvent
> optimized [] in [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in Process class>>forBlock:priority:
>
> ----------------------------------------------------------------------
> Process(Object)>>error:
> Receiver:
> a Process
> Instance Variables:
> nextLink = nil
> suspendedContext = optimized [] in Process class>>forBlock:priority:
> priority = 1
> myList = nil
> depth = nil
> hostThreadKey = nil
> interruptProtect = a Semaphore[0]
> environment = nil
> isSystem = false
> name = nil
> inDebug = nil
> Arguments:
> aStringOrMessage = an UserMessage('priority out of range',
> #ErrorPriorityOutOfRange, #dialogs)
> Temporaries:
> lastNonSpace = 21
> aString = 'priority out of range'
> Context PC = 18
>
> ----------------------------------------------------------------------
> Process>>priority:
> Receiver:
> a Process
> Instance Variables:
> nextLink = nil
> suspendedContext = optimized [] in Process class>>forBlock:priority:
> priority = 1
> myList = nil
> depth = nil
> hostThreadKey = nil
> interruptProtect = a Semaphore[0]
> environment = nil
> isSystem = false
> name = nil
> inDebug = nil
> Arguments:
> anInteger = 101
> Context PC = 19
>
> ----------------------------------------------------------------------
> Process class>>forBlock:priority:
> Receiver:
> a Process class
> Instance Variables:
> superclass = Link
> methodDict = a MethodDictionary[52]
> format = 16395
> subclasses = nil
> instanceVariables = an Array[10]
> organization = ('initialization' #initialize #isSystemProcess:)
> ('changing process state' #interruptWith: #pause #proceed #resume #suspend
> #suspendResumable:do: #suspendUnconditionally #terminate
> #terminateWithExtremePrejudice #yield)
> ('changing suspended state' #install: #popTo:)
> ('accessing' #isSystemProcess #name #name: #priority #priority:
> #processCreationMethod #processState #setIsSystemProcess #suspendedContext
> #suspendingList #windowManager)
> ('printing' #dumpStackToFileNamed: #printOn: #printStackOn: #stackString)
> ('privileged evaluation' #uninterruptablyDo:)
> ('tracing' #traceFrom:)
> ('native thread support' #attachToThread #detachFromThread
> #isAttachedToThread #primThreadAttachment:)
> ('private' #primTerminate #scopeEnvironmentWhile: #setContext:andList:
> #suspendedContext:)
> ('debugging' #activeController #debug #debugDebugger #disableDebug
> #enableDebug #openDebugger #privateDebug)
> ('environment' #environment #environment: #environmentAt:
> #environmentAt:put:)
> ('testing' #isTerminated #isUnderDebug)
>
> name = #Process
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[232]
> Arguments:
> aBlock = BlockClosure [] in WindowManager>>terminate
> anInteger = 101
> Temporaries:
> newProcess = a Process in optimized [] in Process
> class>>forBlock:priority:
> Context PC = 17
>
> ----------------------------------------------------------------------
> BlockClosure>>forkAt:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in WindowManager>>terminate
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> priority = 101
> Temporaries:
> forkedProcess = nil
> Context PC = 5
>
> ----------------------------------------------------------------------
> WindowManager>>terminate
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[0]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Context PC = 20
>
> ----------------------------------------------------------------------
> MessageSend>>value
> Receiver:
> a MessageSend
> Instance Variables:
> selector = #terminate
> args = an Array[0]
> receiver = a WindowManager
> Context PC = 5
>
> ----------------------------------------------------------------------
> optimized [] in DeferrableAction>>message:
> Receiver:
> an UndefinedObject
> Temporaries:
> .aMessage = a MessageSend with receiver: a WindowManager, selector:
> #terminate and arguments: #()
> Context PC = 5
>
> ----------------------------------------------------------------------
> optimized [] in DeferrableAction>>execute
> Receiver:
> an UndefinedObject
> Temporaries:
> .self = a DeferrableAction
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>ensure:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in DeferrableAction>>execute
> outerContext = nil
> copiedValues = a DeferrableAction
> Arguments:
> aBlock = BlockClosure [] in DeferrableAction>>execute
> Temporaries:
> result = nil
> Context PC = 4
>
> ----------------------------------------------------------------------
> DeferrableAction>>execute
> Receiver:
> a DeferrableAction
> Instance Variables:
> time = nil
> initiator = nil
> window = nil
> semaphore = a Semaphore[0]
> result = nil
> action = BlockClosure [] in DeferrableAction>>message:
> Context PC = 11
>
> ----------------------------------------------------------------------
> DeferrableAction>>dispatch
> Receiver:
> a DeferrableAction
> Instance Variables:
> time = nil
> initiator = nil
> window = nil
> semaphore = a Semaphore[0]
> result = nil
> action = BlockClosure [] in DeferrableAction>>message:
> Context PC = 4
>
> ----------------------------------------------------------------------
> DeferrableAction(Event)>>dispatchForWindowManager:
> Receiver:
> a DeferrableAction
> Instance Variables:
> time = nil
> initiator = nil
> window = nil
> semaphore = a Semaphore[0]
> result = nil
> action = BlockClosure [] in DeferrableAction>>message:
> Arguments:
> aWinMgr = a WindowManager
> Context PC = 4
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> Receiver:
> an UndefinedObject
> Temporaries:
> .event = a DeferrableAction
> .self = a WindowManager
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in
> WindowManager>>safelyDispatchForWindowManager:
> outerContext = nil
> copiedValues = an Array[2]
> Arguments:
> anExceptionSelector = BadControllerError
> handlerBlock = BlockClosure [] in
> WindowManager>>safelyDispatchForWindowManager:
> Context PC = 18
>
> ----------------------------------------------------------------------
> WindowManager>>safelyDispatchForWindowManager:
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[0]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Arguments:
> event = a DeferrableAction
> Context PC = 13
>
> ----------------------------------------------------------------------
> WindowManager>>processNextEvent
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[0]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Temporaries:
> event = a DeferrableAction
> Context PC = 9
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>newProcess
> Receiver:
> an UndefinedObject
> Temporaries:
> .self = a WindowManager
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in [] in WindowManager>>newProcess
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> anExceptionSelector = TerminateException
> handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>newProcess
> Receiver:
> an UndefinedObject
> Temporaries:
> .self = a WindowManager
> Context PC = 15
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in WindowManager>>newProcess
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> anExceptionSelector = TerminateException
> handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in Process class>>forBlock:priority:
> Receiver:
> an UndefinedObject
> Temporaries:
> .aBlock = BlockClosure [] in WindowManager>>newProcess
> Context PC = 9
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

RE: [7.4]Priority out of range error

Steven Kelly
In reply to this post by Carl Gundel
It probably means you have code that starts a process at the current
priority +/- 1, and something is causing that code to invoke itself
multiple times. As there are only 100 levels, you hit the end of the
range at some point.

It's tempting to fix this by using min: and max: on the requested
priority, but the processes that spawn at +/- 1 generally need the
spawned process to be at that different priority, so that would simply
be sweeping the problem under the carpet. You need an
application-specific decision on how to limit this process spawning.

HTH,
Steve


> -----Original Message-----
> From: Carl Gundel [mailto:[hidden email]]
> Sent: 09 October 2006 21:49
> To: Vwnc
> Subject: [7.4]Priority out of range error
>
> I have an image where I get this error now when an exception happens.
>
> Is this a known bug?  I've been meaning to upgrade to 7.4.1.  I went
and
> looked at the release notes but didn't see any mention of such a
problem.

>
> -Carl Gundel, author of Liberty BASIC
> http://www.libertybasic.com
>
> Unhandled exception: priority out of range
> Process(Object)>>error:
> Process>>priority:
> Process class>>forBlock:priority:
> BlockClosure>>forkAt:
> WindowManager>>terminate
> MessageSend>>value
> optimized [] in DeferrableAction>>message:
> optimized [] in DeferrableAction>>execute
> BlockClosure>>ensure:
> DeferrableAction>>execute
> DeferrableAction>>dispatch
> DeferrableAction(Event)>>dispatchForWindowManager:
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> BlockClosure>>on:do:
> WindowManager>>safelyDispatchForWindowManager:
> WindowManager>>processNextEvent
> optimized [] in [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in Process class>>forBlock:priority:
>
> ----------------------------------------------------------------------
> Process(Object)>>error:
> Receiver:
>  a Process
> Instance Variables:
>  nextLink = nil
>  suspendedContext = optimized [] in Process class>>forBlock:priority:
>  priority = 1
>  myList = nil
>  depth = nil
>  hostThreadKey = nil
>  interruptProtect = a Semaphore[0]
>  environment = nil
>  isSystem = false
>  name = nil
>  inDebug = nil
> Arguments:
>  aStringOrMessage = an UserMessage('priority out of range',
> #ErrorPriorityOutOfRange, #dialogs)
> Temporaries:
>  lastNonSpace = 21
>  aString = 'priority out of range'
> Context PC = 18
>
> ----------------------------------------------------------------------
> Process>>priority:
> Receiver:
>  a Process
> Instance Variables:
>  nextLink = nil
>  suspendedContext = optimized [] in Process class>>forBlock:priority:
>  priority = 1
>  myList = nil
>  depth = nil
>  hostThreadKey = nil
>  interruptProtect = a Semaphore[0]
>  environment = nil
>  isSystem = false
>  name = nil
>  inDebug = nil
> Arguments:
>  anInteger = 101
> Context PC = 19
>
> ----------------------------------------------------------------------
> Process class>>forBlock:priority:
> Receiver:
>  a Process class
> Instance Variables:
>  superclass = Link
>  methodDict = a MethodDictionary[52]
>  format = 16395
>  subclasses = nil
>  instanceVariables = an Array[10]
>  organization = ('initialization' #initialize #isSystemProcess:)
> ('changing process state' #interruptWith: #pause #proceed #resume
#suspend
> #suspendResumable:do: #suspendUnconditionally #terminate
> #terminateWithExtremePrejudice #yield)
> ('changing suspended state' #install: #popTo:)
> ('accessing' #isSystemProcess #name #name: #priority #priority:
> #processCreationMethod #processState #setIsSystemProcess
#suspendedContext
> #suspendingList #windowManager)
> ('printing' #dumpStackToFileNamed: #printOn: #printStackOn:
#stackString)

> ('privileged evaluation' #uninterruptablyDo:)
> ('tracing' #traceFrom:)
> ('native thread support' #attachToThread #detachFromThread
> #isAttachedToThread #primThreadAttachment:)
> ('private' #primTerminate #scopeEnvironmentWhile: #setContext:andList:
> #suspendedContext:)
> ('debugging' #activeController #debug #debugDebugger #disableDebug
> #enableDebug #openDebugger #privateDebug)
> ('environment' #environment #environment: #environmentAt:
> #environmentAt:put:)
> ('testing' #isTerminated #isUnderDebug)
>
>  name = #Process
>  classPool = a NameSpaceOfClass[0]
>  environment = a NameSpace[232]
> Arguments:
>  aBlock = BlockClosure [] in WindowManager>>terminate
>  anInteger = 101
> Temporaries:
>  newProcess = a Process in optimized [] in Process
> class>>forBlock:priority:
> Context PC = 17
>
> ----------------------------------------------------------------------
> BlockClosure>>forkAt:
> Receiver:
>  a BlockClosure
> Instance Variables:
>  method = CompiledBlock [] in WindowManager>>terminate
>  outerContext = nil
>  copiedValues = a WindowManager
> Arguments:
>  priority = 101
> Temporaries:
>  forkedProcess = nil
> Context PC = 5
>
> ----------------------------------------------------------------------
> WindowManager>>terminate
> Receiver:
>  a WindowManager
> Instance Variables:
>  windows = an OrderedCollection[0]
>  activeController = nil
>  interruptLock = false
>  outstandingMetaOrDamage = false
>  openInProgress = false
>  eventQueue = an EventQueue
>  baseProcess = a Process in Semaphore>>wait
>  dontFilterEvents = false
> Context PC = 20
>
> ----------------------------------------------------------------------
> MessageSend>>value
> Receiver:
>  a MessageSend
> Instance Variables:
>  selector = #terminate
>  args = an Array[0]
>  receiver = a WindowManager
> Context PC = 5
>
> ----------------------------------------------------------------------
> optimized [] in DeferrableAction>>message:
> Receiver:
>  an UndefinedObject
> Temporaries:
>  .aMessage = a MessageSend with receiver: a WindowManager, selector:
> #terminate and arguments: #()
> Context PC = 5
>
> ----------------------------------------------------------------------
> optimized [] in DeferrableAction>>execute
> Receiver:
>  an UndefinedObject
> Temporaries:
>  .self = a DeferrableAction
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>ensure:
> Receiver:
>  a BlockClosure
> Instance Variables:
>  method = CompiledBlock [] in DeferrableAction>>execute
>  outerContext = nil
>  copiedValues = a DeferrableAction
> Arguments:
>  aBlock = BlockClosure [] in DeferrableAction>>execute
> Temporaries:
>  result = nil
> Context PC = 4
>
> ----------------------------------------------------------------------
> DeferrableAction>>execute
> Receiver:
>  a DeferrableAction
> Instance Variables:
>  time = nil
>  initiator = nil
>  window = nil
>  semaphore = a Semaphore[0]
>  result = nil
>  action = BlockClosure [] in DeferrableAction>>message:
> Context PC = 11
>
> ----------------------------------------------------------------------
> DeferrableAction>>dispatch
> Receiver:
>  a DeferrableAction
> Instance Variables:
>  time = nil
>  initiator = nil
>  window = nil
>  semaphore = a Semaphore[0]
>  result = nil
>  action = BlockClosure [] in DeferrableAction>>message:
> Context PC = 4
>
> ----------------------------------------------------------------------
> DeferrableAction(Event)>>dispatchForWindowManager:
> Receiver:
>  a DeferrableAction
> Instance Variables:
>  time = nil
>  initiator = nil
>  window = nil
>  semaphore = a Semaphore[0]
>  result = nil
>  action = BlockClosure [] in DeferrableAction>>message:
> Arguments:
>  aWinMgr = a WindowManager
> Context PC = 4
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> Receiver:
>  an UndefinedObject
> Temporaries:
>  .event = a DeferrableAction
>  .self = a WindowManager
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
>  a BlockClosure
> Instance Variables:
>  method = CompiledBlock [] in
> WindowManager>>safelyDispatchForWindowManager:
>  outerContext = nil
>  copiedValues = an Array[2]
> Arguments:
>  anExceptionSelector = BadControllerError
>  handlerBlock = BlockClosure [] in
> WindowManager>>safelyDispatchForWindowManager:
> Context PC = 18
>
> ----------------------------------------------------------------------
> WindowManager>>safelyDispatchForWindowManager:
> Receiver:
>  a WindowManager
> Instance Variables:
>  windows = an OrderedCollection[0]
>  activeController = nil
>  interruptLock = false
>  outstandingMetaOrDamage = false
>  openInProgress = false
>  eventQueue = an EventQueue
>  baseProcess = a Process in Semaphore>>wait
>  dontFilterEvents = false
> Arguments:
>  event = a DeferrableAction
> Context PC = 13
>
> ----------------------------------------------------------------------
> WindowManager>>processNextEvent
> Receiver:
>  a WindowManager
> Instance Variables:
>  windows = an OrderedCollection[0]
>  activeController = nil
>  interruptLock = false
>  outstandingMetaOrDamage = false
>  openInProgress = false
>  eventQueue = an EventQueue
>  baseProcess = a Process in Semaphore>>wait
>  dontFilterEvents = false
> Temporaries:
>  event = a DeferrableAction
> Context PC = 9
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>newProcess
> Receiver:
>  an UndefinedObject
> Temporaries:
>  .self = a WindowManager
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
>  a BlockClosure
> Instance Variables:
>  method = CompiledBlock [] in [] in WindowManager>>newProcess
>  outerContext = nil
>  copiedValues = a WindowManager
> Arguments:
>  anExceptionSelector = TerminateException
>  handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>newProcess
> Receiver:
>  an UndefinedObject
> Temporaries:
>  .self = a WindowManager
> Context PC = 15
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
>  a BlockClosure
> Instance Variables:
>  method = CompiledBlock [] in WindowManager>>newProcess
>  outerContext = nil
>  copiedValues = a WindowManager
> Arguments:
>  anExceptionSelector = TerminateException
>  handlerBlock = BlockClosure [] in [] in Process
class>>forBlock:priority:

> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in Process class>>forBlock:priority:
> Receiver:
>  an UndefinedObject
> Temporaries:
>  .aBlock = BlockClosure [] in WindowManager>>newProcess
> Context PC = 9
>

Reply | Threaded
Open this post in threaded view
|

Re: [7.4]Priority out of range error

Alan Knight-2
In reply to this post by Carl Gundel
This is likely because of an error occurring in the middle of the snapshot process. There is a point in the middle at which the save process is running at priority 100, stopping anything else from running. It gets put back, but there could be circumstances (like a debugger that just gets closed) in which it didn't. There's another point in the system at which it spawns processes at one higher than the current priority, at which point a process running at priority 100 gets a walkback.

It would be interesting to know how this occurred, but the simplest way to stop it is to open a process monitor (control-backslash), look at any processes that are running at priority 100 and set their priority to 50 (normal user process priority).

At 02:49 PM 10/9/2006, Carl Gundel wrote:

>I have an image where I get this error now when an exception happens.
>
>Is this a known bug?  I've been meaning to upgrade to 7.4.1.  I went and looked at the release notes but didn't see any mention of such a problem.
>
>-Carl Gundel, author of Liberty BASIC
>http://www.libertybasic.com
>
>Unhandled exception: priority out of range
>Process(Object)>>error:
>Process>>priority:
>Process class>>forBlock:priority:
>BlockClosure>>forkAt:
>WindowManager>>terminate
>MessageSend>>value
>optimized [] in DeferrableAction>>message:
>optimized [] in DeferrableAction>>execute
>BlockClosure>>ensure:
>DeferrableAction>>execute
>DeferrableAction>>dispatch
>DeferrableAction(Event)>>dispatchForWindowManager:
>optimized [] in WindowManager>>safelyDispatchForWindowManager:
>BlockClosure>>on:do:
>WindowManager>>safelyDispatchForWindowManager:
>WindowManager>>processNextEvent
>optimized [] in [] in WindowManager>>newProcess
>BlockClosure>>on:do:
>optimized [] in WindowManager>>newProcess
>BlockClosure>>on:do:
>optimized [] in Process class>>forBlock:priority:
>
>----------------------------------------------------------------------
>Process(Object)>>error:
>Receiver:
>a Process
>Instance Variables:
>nextLink = nil
>suspendedContext = optimized [] in Process class>>forBlock:priority:
>priority = 1
>myList = nil
>depth = nil
>hostThreadKey = nil
>interruptProtect = a Semaphore[0]
>environment = nil
>isSystem = false
>name = nil
>inDebug = nil
>Arguments:
>aStringOrMessage = an UserMessage('priority out of range', #ErrorPriorityOutOfRange, #dialogs)
>Temporaries:
>lastNonSpace = 21
>aString = 'priority out of range'
>Context PC = 18
>
>----------------------------------------------------------------------
>Process>>priority:
>Receiver:
>a Process
>Instance Variables:
>nextLink = nil
>suspendedContext = optimized [] in Process class>>forBlock:priority:
>priority = 1
>myList = nil
>depth = nil
>hostThreadKey = nil
>interruptProtect = a Semaphore[0]
>environment = nil
>isSystem = false
>name = nil
>inDebug = nil
>Arguments:
>anInteger = 101
>Context PC = 19
>
>----------------------------------------------------------------------
>Process class>>forBlock:priority:
>Receiver:
>a Process class
>Instance Variables:
>superclass = Link
>methodDict = a MethodDictionary[52]
>format = 16395
>subclasses = nil
>instanceVariables = an Array[10]
>organization = ('initialization' #initialize #isSystemProcess:)
>('changing process state' #interruptWith: #pause #proceed #resume #suspend #suspendResumable:do: #suspendUnconditionally #terminate #terminateWithExtremePrejudice #yield)
>('changing suspended state' #install: #popTo:)
>('accessing' #isSystemProcess #name #name: #priority #priority: #processCreationMethod #processState #setIsSystemProcess #suspendedContext #suspendingList #windowManager)
>('printing' #dumpStackToFileNamed: #printOn: #printStackOn: #stackString)
>('privileged evaluation' #uninterruptablyDo:)
>('tracing' #traceFrom:)
>('native thread support' #attachToThread #detachFromThread #isAttachedToThread #primThreadAttachment:)
>('private' #primTerminate #scopeEnvironmentWhile: #setContext:andList: #suspendedContext:)
>('debugging' #activeController #debug #debugDebugger #disableDebug #enableDebug #openDebugger #privateDebug)
>('environment' #environment #environment: #environmentAt: #environmentAt:put:)
>('testing' #isTerminated #isUnderDebug)
>
>name = #Process
>classPool = a NameSpaceOfClass[0]
>environment = a NameSpace[232]
>Arguments:
>aBlock = BlockClosure [] in WindowManager>>terminate
>anInteger = 101
>Temporaries:
>newProcess = a Process in optimized [] in Process class>>forBlock:priority:
>Context PC = 17
>
>----------------------------------------------------------------------
>BlockClosure>>forkAt:
>Receiver:
>a BlockClosure
>Instance Variables:
>method = CompiledBlock [] in WindowManager>>terminate
>outerContext = nil
>copiedValues = a WindowManager
>Arguments:
>priority = 101
>Temporaries:
>forkedProcess = nil
>Context PC = 5
>
>----------------------------------------------------------------------
>WindowManager>>terminate
>Receiver:
>a WindowManager
>Instance Variables:
>windows = an OrderedCollection[0]
>activeController = nil
>interruptLock = false
>outstandingMetaOrDamage = false
>openInProgress = false
>eventQueue = an EventQueue
>baseProcess = a Process in Semaphore>>wait
>dontFilterEvents = false
>Context PC = 20
>
>----------------------------------------------------------------------
>MessageSend>>value
>Receiver:
>a MessageSend
>Instance Variables:
>selector = #terminate
>args = an Array[0]
>receiver = a WindowManager
>Context PC = 5
>
>----------------------------------------------------------------------
>optimized [] in DeferrableAction>>message:
>Receiver:
>an UndefinedObject
>Temporaries:
>.aMessage = a MessageSend with receiver: a WindowManager, selector: #terminate and arguments: #()
>Context PC = 5
>
>----------------------------------------------------------------------
>optimized [] in DeferrableAction>>execute
>Receiver:
>an UndefinedObject
>Temporaries:
>.self = a DeferrableAction
>Context PC = 6
>
>----------------------------------------------------------------------
>BlockClosure>>ensure:
>Receiver:
>a BlockClosure
>Instance Variables:
>method = CompiledBlock [] in DeferrableAction>>execute
>outerContext = nil
>copiedValues = a DeferrableAction
>Arguments:
>aBlock = BlockClosure [] in DeferrableAction>>execute
>Temporaries:
>result = nil
>Context PC = 4
>
>----------------------------------------------------------------------
>DeferrableAction>>execute
>Receiver:
>a DeferrableAction
>Instance Variables:
>time = nil
>initiator = nil
>window = nil
>semaphore = a Semaphore[0]
>result = nil
>action = BlockClosure [] in DeferrableAction>>message:
>Context PC = 11
>
>----------------------------------------------------------------------
>DeferrableAction>>dispatch
>Receiver:
>a DeferrableAction
>Instance Variables:
>time = nil
>initiator = nil
>window = nil
>semaphore = a Semaphore[0]
>result = nil
>action = BlockClosure [] in DeferrableAction>>message:
>Context PC = 4
>
>----------------------------------------------------------------------
>DeferrableAction(Event)>>dispatchForWindowManager:
>Receiver:
>a DeferrableAction
>Instance Variables:
>time = nil
>initiator = nil
>window = nil
>semaphore = a Semaphore[0]
>result = nil
>action = BlockClosure [] in DeferrableAction>>message:
>Arguments:
>aWinMgr = a WindowManager
>Context PC = 4
>
>----------------------------------------------------------------------
>optimized [] in WindowManager>>safelyDispatchForWindowManager:
>Receiver:
>an UndefinedObject
>Temporaries:
>.event = a DeferrableAction
>.self = a WindowManager
>Context PC = 6
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>a BlockClosure
>Instance Variables:
>method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
>outerContext = nil
>copiedValues = an Array[2]
>Arguments:
>anExceptionSelector = BadControllerError
>handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager:
>Context PC = 18
>
>----------------------------------------------------------------------
>WindowManager>>safelyDispatchForWindowManager:
>Receiver:
>a WindowManager
>Instance Variables:
>windows = an OrderedCollection[0]
>activeController = nil
>interruptLock = false
>outstandingMetaOrDamage = false
>openInProgress = false
>eventQueue = an EventQueue
>baseProcess = a Process in Semaphore>>wait
>dontFilterEvents = false
>Arguments:
>event = a DeferrableAction
>Context PC = 13
>
>----------------------------------------------------------------------
>WindowManager>>processNextEvent
>Receiver:
>a WindowManager
>Instance Variables:
>windows = an OrderedCollection[0]
>activeController = nil
>interruptLock = false
>outstandingMetaOrDamage = false
>openInProgress = false
>eventQueue = an EventQueue
>baseProcess = a Process in Semaphore>>wait
>dontFilterEvents = false
>Temporaries:
>event = a DeferrableAction
>Context PC = 9
>
>----------------------------------------------------------------------
>optimized [] in [] in WindowManager>>newProcess
>Receiver:
>an UndefinedObject
>Temporaries:
>.self = a WindowManager
>Context PC = 13
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>a BlockClosure
>Instance Variables:
>method = CompiledBlock [] in [] in WindowManager>>newProcess
>outerContext = nil
>copiedValues = a WindowManager
>Arguments:
>anExceptionSelector = TerminateException
>handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
>Context PC = 18
>
>----------------------------------------------------------------------
>optimized [] in WindowManager>>newProcess
>Receiver:
>an UndefinedObject
>Temporaries:
>.self = a WindowManager
>Context PC = 15
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>a BlockClosure
>Instance Variables:
>method = CompiledBlock [] in WindowManager>>newProcess
>outerContext = nil
>copiedValues = a WindowManager
>Arguments:
>anExceptionSelector = TerminateException
>handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
>Context PC = 18
>
>----------------------------------------------------------------------
>optimized [] in Process class>>forBlock:priority:
>Receiver:
>an UndefinedObject
>Temporaries:
>.aBlock = BlockClosure [] in WindowManager>>newProcess
>Context PC = 9
>

--
Alan Knight [|], Cincom Smalltalk Development
[hidden email]
[hidden email]
http://www.cincom.com/smalltalk

"The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross

Reply | Threaded
Open this post in threaded view
|

Re: [7.4]Priority out of range error

Carl Gundel
Ah, now that you say it this image is derived from one that displayed one of
those popup save dialogs on startup.  I had not ever seen that happen
before.  So perhaps this does have something to do with it.

Thanks!

-Carl
----- Original Message -----
From: "Alan Knight" <[hidden email]>
To: "Carl Gundel" <[hidden email]>; "Vwnc" <[hidden email]>
Sent: Monday, October 09, 2006 3:06 PM
Subject: Re: [7.4]Priority out of range error


> This is likely because of an error occurring in the middle of the snapshot
> process. There is a point in the middle at which the save process is
> running at priority 100, stopping anything else from running. It gets put
> back, but there could be circumstances (like a debugger that just gets
> closed) in which it didn't. There's another point in the system at which
> it spawns processes at one higher than the current priority, at which
> point a process running at priority 100 gets a walkback.
>
> It would be interesting to know how this occurred, but the simplest way to
> stop it is to open a process monitor (control-backslash), look at any
> processes that are running at priority 100 and set their priority to 50
> (normal user process priority).
>
> At 02:49 PM 10/9/2006, Carl Gundel wrote:
>>I have an image where I get this error now when an exception happens.
>>
>>Is this a known bug?  I've been meaning to upgrade to 7.4.1.  I went and
>>looked at the release notes but didn't see any mention of such a problem.
>>
>>-Carl Gundel, author of Liberty BASIC
>>http://www.libertybasic.com
>>
>>Unhandled exception: priority out of range
>>Process(Object)>>error:
>>Process>>priority:
>>Process class>>forBlock:priority:
>>BlockClosure>>forkAt:
>>WindowManager>>terminate
>>MessageSend>>value
>>optimized [] in DeferrableAction>>message:
>>optimized [] in DeferrableAction>>execute
>>BlockClosure>>ensure:
>>DeferrableAction>>execute
>>DeferrableAction>>dispatch
>>DeferrableAction(Event)>>dispatchForWindowManager:
>>optimized [] in WindowManager>>safelyDispatchForWindowManager:
>>BlockClosure>>on:do:
>>WindowManager>>safelyDispatchForWindowManager:
>>WindowManager>>processNextEvent
>>optimized [] in [] in WindowManager>>newProcess
>>BlockClosure>>on:do:
>>optimized [] in WindowManager>>newProcess
>>BlockClosure>>on:do:
>>optimized [] in Process class>>forBlock:priority:
>>
>>----------------------------------------------------------------------
>>Process(Object)>>error:
>>Receiver:
>>a Process
>>Instance Variables:
>>nextLink = nil
>>suspendedContext = optimized [] in Process class>>forBlock:priority:
>>priority = 1
>>myList = nil
>>depth = nil
>>hostThreadKey = nil
>>interruptProtect = a Semaphore[0]
>>environment = nil
>>isSystem = false
>>name = nil
>>inDebug = nil
>>Arguments:
>>aStringOrMessage = an UserMessage('priority out of range',
>>#ErrorPriorityOutOfRange, #dialogs)
>>Temporaries:
>>lastNonSpace = 21
>>aString = 'priority out of range'
>>Context PC = 18
>>
>>----------------------------------------------------------------------
>>Process>>priority:
>>Receiver:
>>a Process
>>Instance Variables:
>>nextLink = nil
>>suspendedContext = optimized [] in Process class>>forBlock:priority:
>>priority = 1
>>myList = nil
>>depth = nil
>>hostThreadKey = nil
>>interruptProtect = a Semaphore[0]
>>environment = nil
>>isSystem = false
>>name = nil
>>inDebug = nil
>>Arguments:
>>anInteger = 101
>>Context PC = 19
>>
>>----------------------------------------------------------------------
>>Process class>>forBlock:priority:
>>Receiver:
>>a Process class
>>Instance Variables:
>>superclass = Link
>>methodDict = a MethodDictionary[52]
>>format = 16395
>>subclasses = nil
>>instanceVariables = an Array[10]
>>organization = ('initialization' #initialize #isSystemProcess:)
>>('changing process state' #interruptWith: #pause #proceed #resume #suspend
>>#suspendResumable:do: #suspendUnconditionally #terminate
>>#terminateWithExtremePrejudice #yield)
>>('changing suspended state' #install: #popTo:)
>>('accessing' #isSystemProcess #name #name: #priority #priority:
>>#processCreationMethod #processState #setIsSystemProcess #suspendedContext
>>#suspendingList #windowManager)
>>('printing' #dumpStackToFileNamed: #printOn: #printStackOn: #stackString)
>>('privileged evaluation' #uninterruptablyDo:)
>>('tracing' #traceFrom:)
>>('native thread support' #attachToThread #detachFromThread
>>#isAttachedToThread #primThreadAttachment:)
>>('private' #primTerminate #scopeEnvironmentWhile: #setContext:andList:
>>#suspendedContext:)
>>('debugging' #activeController #debug #debugDebugger #disableDebug
>>#enableDebug #openDebugger #privateDebug)
>>('environment' #environment #environment: #environmentAt:
>>#environmentAt:put:)
>>('testing' #isTerminated #isUnderDebug)
>>
>>name = #Process
>>classPool = a NameSpaceOfClass[0]
>>environment = a NameSpace[232]
>>Arguments:
>>aBlock = BlockClosure [] in WindowManager>>terminate
>>anInteger = 101
>>Temporaries:
>>newProcess = a Process in optimized [] in Process
>>class>>forBlock:priority:
>>Context PC = 17
>>
>>----------------------------------------------------------------------
>>BlockClosure>>forkAt:
>>Receiver:
>>a BlockClosure
>>Instance Variables:
>>method = CompiledBlock [] in WindowManager>>terminate
>>outerContext = nil
>>copiedValues = a WindowManager
>>Arguments:
>>priority = 101
>>Temporaries:
>>forkedProcess = nil
>>Context PC = 5
>>
>>----------------------------------------------------------------------
>>WindowManager>>terminate
>>Receiver:
>>a WindowManager
>>Instance Variables:
>>windows = an OrderedCollection[0]
>>activeController = nil
>>interruptLock = false
>>outstandingMetaOrDamage = false
>>openInProgress = false
>>eventQueue = an EventQueue
>>baseProcess = a Process in Semaphore>>wait
>>dontFilterEvents = false
>>Context PC = 20
>>
>>----------------------------------------------------------------------
>>MessageSend>>value
>>Receiver:
>>a MessageSend
>>Instance Variables:
>>selector = #terminate
>>args = an Array[0]
>>receiver = a WindowManager
>>Context PC = 5
>>
>>----------------------------------------------------------------------
>>optimized [] in DeferrableAction>>message:
>>Receiver:
>>an UndefinedObject
>>Temporaries:
>>.aMessage = a MessageSend with receiver: a WindowManager, selector:
>>#terminate and arguments: #()
>>Context PC = 5
>>
>>----------------------------------------------------------------------
>>optimized [] in DeferrableAction>>execute
>>Receiver:
>>an UndefinedObject
>>Temporaries:
>>.self = a DeferrableAction
>>Context PC = 6
>>
>>----------------------------------------------------------------------
>>BlockClosure>>ensure:
>>Receiver:
>>a BlockClosure
>>Instance Variables:
>>method = CompiledBlock [] in DeferrableAction>>execute
>>outerContext = nil
>>copiedValues = a DeferrableAction
>>Arguments:
>>aBlock = BlockClosure [] in DeferrableAction>>execute
>>Temporaries:
>>result = nil
>>Context PC = 4
>>
>>----------------------------------------------------------------------
>>DeferrableAction>>execute
>>Receiver:
>>a DeferrableAction
>>Instance Variables:
>>time = nil
>>initiator = nil
>>window = nil
>>semaphore = a Semaphore[0]
>>result = nil
>>action = BlockClosure [] in DeferrableAction>>message:
>>Context PC = 11
>>
>>----------------------------------------------------------------------
>>DeferrableAction>>dispatch
>>Receiver:
>>a DeferrableAction
>>Instance Variables:
>>time = nil
>>initiator = nil
>>window = nil
>>semaphore = a Semaphore[0]
>>result = nil
>>action = BlockClosure [] in DeferrableAction>>message:
>>Context PC = 4
>>
>>----------------------------------------------------------------------
>>DeferrableAction(Event)>>dispatchForWindowManager:
>>Receiver:
>>a DeferrableAction
>>Instance Variables:
>>time = nil
>>initiator = nil
>>window = nil
>>semaphore = a Semaphore[0]
>>result = nil
>>action = BlockClosure [] in DeferrableAction>>message:
>>Arguments:
>>aWinMgr = a WindowManager
>>Context PC = 4
>>
>>----------------------------------------------------------------------
>>optimized [] in WindowManager>>safelyDispatchForWindowManager:
>>Receiver:
>>an UndefinedObject
>>Temporaries:
>>.event = a DeferrableAction
>>.self = a WindowManager
>>Context PC = 6
>>
>>----------------------------------------------------------------------
>>BlockClosure>>on:do:
>>Receiver:
>>a BlockClosure
>>Instance Variables:
>>method = CompiledBlock [] in
>>WindowManager>>safelyDispatchForWindowManager:
>>outerContext = nil
>>copiedValues = an Array[2]
>>Arguments:
>>anExceptionSelector = BadControllerError
>>handlerBlock = BlockClosure [] in
>>WindowManager>>safelyDispatchForWindowManager:
>>Context PC = 18
>>
>>----------------------------------------------------------------------
>>WindowManager>>safelyDispatchForWindowManager:
>>Receiver:
>>a WindowManager
>>Instance Variables:
>>windows = an OrderedCollection[0]
>>activeController = nil
>>interruptLock = false
>>outstandingMetaOrDamage = false
>>openInProgress = false
>>eventQueue = an EventQueue
>>baseProcess = a Process in Semaphore>>wait
>>dontFilterEvents = false
>>Arguments:
>>event = a DeferrableAction
>>Context PC = 13
>>
>>----------------------------------------------------------------------
>>WindowManager>>processNextEvent
>>Receiver:
>>a WindowManager
>>Instance Variables:
>>windows = an OrderedCollection[0]
>>activeController = nil
>>interruptLock = false
>>outstandingMetaOrDamage = false
>>openInProgress = false
>>eventQueue = an EventQueue
>>baseProcess = a Process in Semaphore>>wait
>>dontFilterEvents = false
>>Temporaries:
>>event = a DeferrableAction
>>Context PC = 9
>>
>>----------------------------------------------------------------------
>>optimized [] in [] in WindowManager>>newProcess
>>Receiver:
>>an UndefinedObject
>>Temporaries:
>>.self = a WindowManager
>>Context PC = 13
>>
>>----------------------------------------------------------------------
>>BlockClosure>>on:do:
>>Receiver:
>>a BlockClosure
>>Instance Variables:
>>method = CompiledBlock [] in [] in WindowManager>>newProcess
>>outerContext = nil
>>copiedValues = a WindowManager
>>Arguments:
>>anExceptionSelector = TerminateException
>>handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
>>Context PC = 18
>>
>>----------------------------------------------------------------------
>>optimized [] in WindowManager>>newProcess
>>Receiver:
>>an UndefinedObject
>>Temporaries:
>>.self = a WindowManager
>>Context PC = 15
>>
>>----------------------------------------------------------------------
>>BlockClosure>>on:do:
>>Receiver:
>>a BlockClosure
>>Instance Variables:
>>method = CompiledBlock [] in WindowManager>>newProcess
>>outerContext = nil
>>copiedValues = a WindowManager
>>Arguments:
>>anExceptionSelector = TerminateException
>>handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
>>Context PC = 18
>>
>>----------------------------------------------------------------------
>>optimized [] in Process class>>forBlock:priority:
>>Receiver:
>>an UndefinedObject
>>Temporaries:
>>.aBlock = BlockClosure [] in WindowManager>>newProcess
>>Context PC = 9
>>
>
> --
> Alan Knight [|], Cincom Smalltalk Development
> [hidden email]
> [hidden email]
> http://www.cincom.com/smalltalk
>
> "The Static Typing Philosophy: Make it fast. Make it right. Make it
> run." - Niall Ross
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Font improvements?

Carl Gundel
In reply to this post by Paul Baumann
One feature that I hope will be included in the new Pollock based tools is
better support for fonts in general in VW.  It looks like I can probably
write some helper code pretty easily that will let me grab fonts in sizes
and styles as I need them for my work.   However, it has always really
bugged me that in the VW tools I cannot easily just go to System Settings
and specify precisely the font(s) I want to use when using the browsers.  I
know I can set the size in Settings, but only in a relative fashion.

VisualWorks is awesome (of course) but I'm concerned that newcomers to VW
are turned off by this sort of thing.  Every IDE I've used makes it easy to
set editor fonts, and features that use fonts should be really easy for
developers include in their applications.  It would be unfortunate if this
continued to be an issue.

Are there plans to address this in Splash?

Thanks for listening,

-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com 


Reply | Threaded
Open this post in threaded view
|

Re: Font improvements?

Samuel S. Shuster <sames@interaccess.com>
Carl,

> Are there plans to address this in Splash?

No, nor in Pollock. A separate project, named Corona, will address  
Fonts for the Pollock (and not Wrapper).

That project will likely start about 6 months after Pollock goes into  
"Production."

                                 And So It Goes
                                      Sames
______________________________________________________________________

Samuel S. Shuster [|]
VisualWorks Engineering, GUI Project
Smalltalk Enables Success -- What Are YOU Using?



Reply | Threaded
Open this post in threaded view
|

Re: Font improvements?

Adrian Kuhn-3
In reply to this post by Carl Gundel
Do

        NamedFontSelector open

this will open a dialog to change the predefined small, default,  
large fonts.

-- Adrian K.



On  13. Oct 2006, at 0:06, Carl Gundel wrote:

> One feature that I hope will be included in the new Pollock based  
> tools is better support for fonts in general in VW.  It looks like  
> I can probably write some helper code pretty easily that will let  
> me grab fonts in sizes and styles as I need them for my work.    
> However, it has always really bugged me that in the VW tools I  
> cannot easily just go to System Settings and specify precisely the  
> font(s) I want to use when using the browsers.  I know I can set  
> the size in Settings, but only in a relative fashion.
>
> VisualWorks is awesome (of course) but I'm concerned that newcomers  
> to VW are turned off by this sort of thing.  Every IDE I've used  
> makes it easy to set editor fonts, and features that use fonts  
> should be really easy for developers include in their  
> applications.  It would be unfortunate if this continued to be an  
> issue.
>
> Are there plans to address this in Splash?
>
> Thanks for listening,
>
> -Carl Gundel, author of Liberty BASIC
> http://www.libertybasic.com
>