[squeak-dev] The Trunk: Graphics-fbs.209.mcz

Frank Shearar frank.shearar at gmail.com
Tue Apr 23 09:34:41 UTC 2013


On 23 April 2013 09:50,  <commits at source.squeak.org> wrote:
> Frank Shearar uploaded a new version of Graphics to project The Trunk:
> http://source.squeak.org/trunk/Graphics-fbs.209.mcz
>
> ==================== Summary ====================
>
> Name: Graphics-fbs.209
> Author: fbs
> Time: 23 April 2013, 9:50:00.413 am
> UUID: 4dd577f2-2a70-4e21-8efa-5847b3ad804c
> Ancestors: Graphics-tpr.208
>
> #asGrafPort belongs in the Morphic package.
>
> =============== Diff against Graphics-tpr.208 ===============
>
> Item was removed:
> - ----- Method: BitBlt class>>asGrafPort (in category 'instance creation') -----
> - asGrafPort
> -       "Return the GrafPort associated with the receiver"
> -       ^GrafPort!

I don't see why, but this and its pair Morphic-fbs-648 seem to have
triggered a nasty bug in Cog r.2714.

To trigger it,
* clone https://github.com/frankshearar/squeak-ci/
* open the Squeak4.5.image therein, with a (Linux) Cog r.2714
* update it.

Everything proceeds fine until installing this update. On my weak
little laptop things pause, and then I see the dreaded "(last object
overwritten)" message. On my much more powerful work machine (also a
Linux box) it just pauses. Squeak's burning a hole in the CPU, and
updating is uninterruptable.

On my work machine, upgrading using an Interpreter VM just leaves me hanging.

<cog's output follows:>
last object overwritten

Squeak VM version: 4.0-2714 #1 Thu Apr  4 11:52:39 PDT 2013 gcc 4.1.2
Built from: CoInterpreter VMMaker.oscog-eem.282 uuid:
6c2f2048-555b-4d37-a9eb-4d9252acf3b9 Apr  4 2013
With: StackToRegisterMappingCogit VMMaker.oscog-eem.282 uuid:
6c2f2048-555b-4d37-a9eb-4d9252acf3b9 Apr  4 2013
Revision: VM: r2714 http://www.squeakvm.org/svn/squeak/branches/Cog
Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
Build host: Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST
2009 i686 i686 i386 GNU/Linux
plugin path: target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714
[default: /home/frank/Documents/squeak-ci/target/cog.r2714/coglinux/lib/squeak/4.0-2714/]


C stack backtrace:
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak[0x805cca1]
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak(error+0x19)[0x805cf89]
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak(instantiateClassindexableSize+0xa9)[0x807a159]
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak[0x807b21b]
[0x77745451]
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak(interpret+0x1eb)[0x808080b]
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak(main+0x397)[0x805d367]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x12abd6]
target/cog.r2714/coglinux/bin/../lib/squeak/4.0-2714/squeak[0x805ad61]


Smalltalk stack dump:
0xbfe2ad38 M Bitmap class(Behavior)>new: 0x77b25270: a(n) Bitmap class
0xbfe2ad54 M Form>setExtent:depth: 0x7ff6e7a0: a(n) Form
0xbfe2ad74 M Form class>extent:depth: 0x77b27480: a(n) Form class
0xbfe2ada0 M DisplayText>composeForm 0x7ff6d8fc: a(n) DisplayText
0xbfe2adb8 M DisplayText>form 0x7ff6d8fc: a(n) DisplayText
0xbfe2add8 M DisplayText>displayOn:at:clippingBox:rule:fillColor:
0x7ff6d8fc: a(n) DisplayText
0xbfe2ae04 M DisplayText(DisplayObject)>displayOn:at: 0x7ff6d8fc: a(n)
DisplayText
0xbfe2ae24 M ByteString(String)>displayOn:at:textColor: 0x7ff6d450:
a(n) ByteString
0xbfe81ca0 M ByteString(String)>displayOn:at: 0x7ff6d450: a(n) ByteString
0xbfe81cc0 M ByteString(String)>displayAt: 0x7ff6d450: a(n) ByteString
0xbfe81cdc M Debugger class(Object)>primitiveError: 0x77dc864c: a(n)
Debugger class
0xbfe81cfc M [] in Debugger
class>morphicOpenOn:context:label:contents:fullView: 0x77dc864c: a(n)
Debugger class
0xbfe81d18 M BlockClosure>cull: 0x7ff577ac: a(n) BlockClosure
0xbfe81d38 M [] in MethodContext(ContextPart)>handleSignal:
0x7ff6cc68: a(n) MethodContext
0xbfe81d58 M BlockClosure>ensure: 0x7ff6cd24: a(n) BlockClosure
0xbfe81d78 M MethodContext(ContextPart)>handleSignal: 0x7ff6cc68: a(n)
MethodContext
0xbfe81d94 M MessageNotUnderstood(Exception)>signal 0x7ff6cad4: a(n)
MessageNotUnderstood
0xbfe81db4 M BitBlt class(Object)>doesNotUnderstand: asGrafPort
0x77b22b48: a(n) BitBlt class
0xbfe81dd0 M FormCanvas>portClass 0x7ff5ca70: a(n) FormCanvas
0xbfe81de8 M FormCanvas>setForm: 0x7ff5ca70: a(n) FormCanvas
0xbfe81e04 M FormCanvas class>extent:depth: 0x77b2d750: a(n) FormCanvas class
0xbfe81e28 M RectangleMorph(Morph)>imageForm:forRectangle: 0x7ff5c550:
a(n) RectangleMorph
0xbfe39d14 M RectangleMorph(Morph)>imageFormForRectangle: 0x7ff5c550:
a(n) RectangleMorph
0xbfe39d30 M RectangleMorph(Morph)>imageForm 0x7ff5c550: a(n) RectangleMorph
0xbfe39d5c M ScrollBar class>createArrowOfDirection:size:color:
0x77b29268: a(n) ScrollBar class
0xbfe39d80 M [] in ScrollBar class>createArrowImagesCache 0x77b29268:
a(n) ScrollBar class
0xbfe39db0 M LRUCache>at: 0x785bcddc: a(n) LRUCache
0xbfe39dcc M ScrollBar class>arrowOfDirection:size:color: 0x77b29268:
a(n) ScrollBar class
0xbfe39df0 M ScrollBar>upImage 0x7ff5b408: a(n) ScrollBar
0xbfe39e10 M ScrollBar>updateUpButtonImage 0x7ff5b408: a(n) ScrollBar
0xbfe39e2c M ScrollBar>sliderColor: 0x7ff5b408: a(n) ScrollBar
0xbfe44cf8 I ScrollBar>adoptPaneColor: 0x7ff5b408: a(n) ScrollBar
0xbfe44d18 M [] in PluggableListMorphPlus(Morph)>adoptPaneColor:
0x7ff5ab30: a(n) PluggableListMorphPlus
0xbfe44d3c M Array(SequenceableCollection)>do: 0x7ff5bea4: a(n) Array
0xbfe44d58 M PluggableListMorphPlus(Morph)>submorphsDo: 0x7ff5ab30:
a(n) PluggableListMorphPlus
0xbfe44d74 M PluggableListMorphPlus(Morph)>adoptPaneColor: 0x7ff5ab30:
a(n) PluggableListMorphPlus
0xbfe44d90 M PluggableListMorphPlus(ScrollPane)>adoptPaneColor:
0x7ff5ab30: a(n) PluggableListMorphPlus
0xbfe44dc0 M PluggableSystemWindow(SystemWindow)>addMorph:fullFrame:
0x7ff5803c: a(n) PluggableSystemWindow
0xbfe44de0 M PluggableSystemWindow>addPaneMorph: 0x7ff5803c: a(n)
PluggableSystemWindow
0xbfe44dfc M MorphicToolBuilder>add:to: 0x7ff57880: a(n) MorphicToolBuilder
0xbfe44e2c M MorphicToolBuilder>buildPluggableList: 0x7ff57880: a(n)
MorphicToolBuilder
0xbfe6ccec M PluggableListSpec>buildWith: 0x7ff57b74: a(n) PluggableListSpec
0xbfe6cd08 M [] in MorphicToolBuilder(ToolBuilder)>buildAll:in: 0x7ff57880: a(n)
 MorphicToolBuilder
0xbfe6cd28 M OrderedCollection>do: 0x7ff578dc: a(n) OrderedCollection
0xbfe6cd48 M MorphicToolBuilder(ToolBuilder)>buildAll:in: 0x7ff57880:
a(n) MorphicToolBuilder
0xbfe6cd74 M MorphicToolBuilder>buildPluggableWindow: 0x7ff57880: a(n)
MorphicToolBuilder
0xbfe6cd90 M PluggableWindowSpec>buildWith: 0x7ff57898: a(n) PluggableWindowSpec
0xbfe6cdb4 I MorphicToolBuilder(ToolBuilder)>build: 0x7ff57880: a(n)
MorphicToolBuilder
0xbfe6cddc I MorphicToolBuilder>open: 0x7ff57880: a(n) MorphicToolBuilder
0xbfe6ce00 I MorphicToolBuilder(ToolBuilder)>openDebugger: 0x7ff57880:
a(n) MorphicToolBuilder
0xbfe6ce28 M Debugger>openNotifierContents:label: 0x7ff577c4: a(n) Debugger
0xbfea4d08 M [] in Debugger
class>morphicOpenOn:context:label:contents:fullView: 0x77dc864c: a(n)
Debugger class
0xbfea4d24 M BlockClosure>on:do: 0x7ff5777c: a(n) BlockClosure
0xbfea4d60 M [] in Debugger
class>morphicOpenOn:context:label:contents:fullView: 0x77dc864c: a(n)
Debugger class
0xbfea4d88 M WorldState>runStepMethodsIn: 0x77834af8: a(n) WorldState
0xbfea4da4 M PasteUpMorph>runStepMethods 0x77c6a5ec: a(n) PasteUpMorph
0xbfea4dc0 M WorldState>doOneCycleNowFor: 0x77834af8: a(n) WorldState
0xbfea4ddc M WorldState>doOneCycleFor: 0x77834af8: a(n) WorldState
0xbfea4df8 M PasteUpMorph>doOneCycle 0x77c6a5ec: a(n) PasteUpMorph
0xbfea4e10 M [] in Project class>spawnNewProcess 0x77c54960: a(n) Project class
0xbfea4e30 I [] in BlockClosure>newProcess 0x7ff557f4: a(n) BlockClosure

Most recent primitives
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
at:put:
@
@
basicNew
new:
at:put:
basicNew
shallowCopy
shallowCopy
at:put:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
at:put:
@
@
basicNew
new:
at:put:
basicNew
shallowCopy
shallowCopy
at:put:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
perform:
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
new:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
perform:
at:put:
species
new:
replaceFrom:to:with:startingAt:
@
@
basicNew
@
@
@
@
@
@
perform:with:
@
@
species
species
at:put:
@
basicNew
basicNew:

stack page bytes 4096 available headroom 3300 minimum unused headroom 2228

(last object overwritten)

frank


More information about the Squeak-dev mailing list