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 |
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]] 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 |
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]] 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
vw-gemkit.gs (43K) Download Attachment |
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 |
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/ |
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. |
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 From: Georg Heeg
[mailto:[hidden email]] 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]] 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. |
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> |
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:
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
|
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. |
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 |
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. |
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 |
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 > > > > > |
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 > #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 > Context PC = 18 > > ---------------------------------------------------------------------- > optimized [] in Process class>>forBlock:priority: > Receiver: > an UndefinedObject > Temporaries: > .aBlock = BlockClosure [] in WindowManager>>newProcess > Context PC = 9 > |
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 |
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 > > > > |
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 |
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? |
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 > |
Free forum by Nabble | Edit this page |