here insert explanation of what you were doing, suspect changes you've made and so forth.
[lets see if I can do this right this time... Okay, I think I got it to work but this "Mister Postman" application still has HORRIBLE, usibility deficits.. It relies on the user's clarvoyance in knowing to hit "alt-S" to make it do what every other mail application in the known universe does automaticly... ]
I was attempting to generate a 3.8 VM on a squeaky 3.8 image, I did my normal routine of heaping on all of the plugins as internal, -- I don't trust ld.so at all and think that its authors are among the most evil people ever to sit down at a keyboard...
I was supprised to get a debug box during this excercise...
I think what's going on is that a receient refactoring of Symbol broke the first line of MessageNode>> asTranslatorNode...
The missing symbol #key is, I beleive, a "red herring" because the CPU should have taken the ifTrue path... I think the code "isMemberOf:" should be replaced with something like "isMemberOrSubclassOf:"... But I don't know if that method exists or what its name is...
2 June 2004 2:51:37 pm
VM: unix - a SmalltalkImage Image: Squeak3.8 [latest update: #6665]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/atg/source/trunk/test Trusted Dir /home/atg/source/trunk/test/secure Untrusted Dir /home/atg/source/trunk/test/untrusted
ByteSymbol(Object)>>doesNotUnderstand: #key Receiver: #ifTrue:ifFalse: Arguments and temporary variables: aMessage: key Receiver's instance variables: #ifTrue:ifFalse:
MessageNode>>asTranslatorNode Receiver: {self hasEdgeTransform ifTrue: [self transformPoint: point into: point] ifFalse: [point ...etc... Arguments and temporary variables: sel: nil args: nil i: nil Receiver's instance variables: comment: nil pc: nil receiver: {self hasEdgeTransform} selector: #ifTrue:ifFalse: precedence: 3 special: 4 arguments: an OrderedCollection({[self transformPoint: point into: point]} {[po...etc... sizes: #(nil nil) equalNode: nil caseErrorNode: nil
[] in BlockNode>>asTranslatorNode {[:s | newS := s asTranslatorNode. newS isStmtList ifTrue: [statementList...]} Arguments and temporary variables: statementList: an OrderedCollection(self var: #point declareC: 'int *point') newS: self var: #point declareC: 'int *point' s: {self hasEdgeTransform ifTrue: [self transformPoint: point into: point] if...etc... arg: nil
OrderedCollection>>do: Receiver: an OrderedCollection({self var: #point declareC: 'int *point'} {self hasEdgeTransform ifT...etc... Arguments and temporary variables: aBlock: [] in BlockNode>>asTranslatorNode {[:s | newS := s asTranslatorNode. ...etc... index: 4 Receiver's instance variables: array: #(nil nil {self var: #point declareC: 'int *point'} {self hasEdgeTransfo...etc... firstIndex: 3 lastIndex: 5
--- The full stack --- ByteSymbol(Object)>>doesNotUnderstand: #key MessageNode>>asTranslatorNode [] in BlockNode>>asTranslatorNode {[:s | newS := s asTranslatorNode. newS isStmtList ifTrue: [statementList...]} OrderedCollection>>do: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BlockNode>>asTranslatorNode TMethod>>setSelector:args:locals:block:primitive: MethodNode>>asTranslationMethodOfClass: [] in VMPluginCodeGenerator(CCodeGenerator)>>addClass: {[:sel :i | bar value: i. source := aClass sourceCodeAt: sel. self addMe...]} [] in Set>>doWithIndex: {[:item | aBlock2 value: item value: (index := index + 1)]} Set>>do: Set>>doWithIndex: [] in VMPluginCodeGenerator(CCodeGenerator)>>addClass: {[:bar | aClass selectors doWithIndex: [:sel :i | bar value: i. sour...]} [] in ProgressInitiationException>>defaultMorphicAction {[result := workBlock value: progress]} BlockContext>>ensure: ProgressInitiationException>>defaultMorphicAction ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: MethodContext(ContextPart)>>handleSignal: MethodContext(ContextPart)>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during: ProgressInitiationException class>>display:at:from:to:during: ByteString(String)>>displayProgressAt:from:to:during: VMPluginCodeGenerator(CCodeGenerator)>>addClass: BalloonEnginePlugin class(InterpreterPlugin class)>>buildCodeGeneratorUpTo: BalloonEnginePlugin class(InterpreterPlugin class)>>translateInDirectory:doInlining: UnixVMMaker(VMMaker)>>privateGenerateInternalPlugin: [] in UnixVMMaker(VMMaker)>>generateInternalPlugins {[:plugin | self privateGenerateInternalPlugin: plugin]} [] in UnixVMMaker(VMMaker)>>plugins:do: {[:sym | (Smalltalk hasClassNamed: sym) ifTrue: [aBlock value: (Smallta...]} SortedCollection(OrderedCollection)>>do: UnixVMMaker(VMMaker)>>plugins:do: UnixVMMaker(VMMaker)>>internalPluginsDo: UnixVMMaker(VMMaker)>>generateInternalPlugins UnixVMMaker(VMMaker)>>generateMainVM UnixVMMaker(VMMaker)>>generateEntire [] in VMMakerTool>>generateAll {[vmMaker generateEntire]} BlockContext>>on:do: VMMakerTool>>generateAll [] in SimpleButtonMorph>>doButtonAction {[target perform: actionSelector withArguments: arguments]} BlockContext>>ensure: CursorWithMask(Cursor)>>showWhile: SimpleButtonMorph>>doButtonAction SimpleButtonMorph>>mouseUp: SimpleButtonMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: SimpleButtonMorph(Morph)>>handleEvent: ...etc...
Known problem, on Mantis as #1078, in my queue.
[BUG] emails are not the currently favoured approach to reporting problems ,at least not without at least trying to see if there is already a MAntis report on the subject.
tim -- Tim Rowledge, tim@rowledge.org, http://www.rowledge.org/tim Strange OpCodes: BPB: Branch on Program Bug
Tim Rowledge wrote:
Known problem, on Mantis as #1078, in my queue.
<snide remark> You' aren't an 31337 $m411741k c0d3r untill you know 411 th3 s4cr!7 w0rdz </snide remark>
<Snyde remark 2> How much does the second clue cost? </snide remark 2>
I must be in a truly exceptional bad mood at the moment. =\
So how do I use this "mantis" thing?
I only skim this list, I suspect there were many many many posts about mantis but since nothing about the subject line triggered a red flag in my mind, I didn't pay any attention.
Heya Alan,
The second clue is free...
Mantis is at: http://bugs.impara.de/main_page.php
It is pretty straightforward to use, I think (once you know the URL ;-) Beats searching through the list.
Hope this helps, Josh
Alan Grimes wrote:
Tim Rowledge wrote:
Known problem, on Mantis as #1078, in my queue.
<snide remark> You' aren't an 31337 $m411741k c0d3r untill you know 411 th3 s4cr!7 w0rdz </snide remark>
<Snyde remark 2> How much does the second clue cost? </snide remark 2>
I must be in a truly exceptional bad mood at the moment. =\
So how do I use this "mantis" thing?
I only skim this list, I suspect there were many many many posts about mantis but since nothing about the subject line triggered a red flag in my mind, I didn't pay any attention.
As mentioned by Tim there is an existing report in the Mantis database regarding this issue at
http://bugs.impara.de/view.php?id=1078
Feel free to comment or followup there.
Ken
squeak-dev@lists.squeakfoundation.org