[squeak-dev] Monticello postscript problem

Martin Kuball martinkuball at web.de
Sun May 10 13:53:10 UTC 2020


Hi Christoph,

sorry for the late answer. I tried version Monticello-jr.718. And it worked.
So far so good. So I was curious what exactly changed. I opened the history
and asked for the changes from 716 to 717.  But I got an exception instead.
This worked with version 708.

10 May 2020 3:52:06.942302 pm

VM: unix - Smalltalk
Image: Squeak5.3 [latest update: #19438]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/kuball/SMT/s-5.3/test
Trusted Dir /home/kuball/SMT/s-5.3/test/secure
Untrusted Dir /home/kuball/SMT/s-5.3/test/My Squeak

UndefinedObject(Object)>>doesNotUnderstand: #snapshot
	Receiver: nil
	Arguments and temporary variables:
		aMessage: 	snapshot
		exception: 	MessageNotUnderstood: UndefinedObject>>snapshot
		resumeValue: 	nil
	Receiver's instance variables:
nil

MCVersionHistoryBrowser>>snapshotForInfo:
	Receiver: a MCVersionHistoryBrowser
	Arguments and temporary variables:
		aVersionInfo: 	a MCVersionInfo(Monticello-nice.716)
	Receiver's instance variables:
		dependents: 	a DependentsArray(a
PluggableSystemWindow<Monticello-eem.717 Histor...etc...
		morph: 	nil
		label: 	nil
		modalProcess: 	nil
		modalValue: 	nil
		ancestry: 	a MCVersionInfo(Monticello-eem.717)
		index: 	2
		repositoryGroup: 	nil
		package: 	nil
		infos: 	{a MCVersionInfo(Monticello-eem.717) . a
MCVersionInfo(Monticello-nice.716...etc...

MCVersionHistoryBrowser>>selectedSnapshot
	Receiver: a MCVersionHistoryBrowser
	Arguments and temporary variables:

	Receiver's instance variables:
		dependents: 	a DependentsArray(a
PluggableSystemWindow<Monticello-eem.717 Histor...etc...
		morph: 	nil
		label: 	nil
		modalProcess: 	nil
		modalValue: 	nil
		ancestry: 	a MCVersionInfo(Monticello-eem.717)
		index: 	2
		repositoryGroup: 	nil
		package: 	nil
		infos: 	{a MCVersionInfo(Monticello-eem.717) . a
MCVersionInfo(Monticello-nice.716...etc...

MCVersionHistoryBrowser>>viewChanges
	Receiver: a MCVersionHistoryBrowser
	Arguments and temporary variables:

	Receiver's instance variables:
		dependents: 	a DependentsArray(a
PluggableSystemWindow<Monticello-eem.717 Histor...etc...
		morph: 	nil
		label: 	nil
		modalProcess: 	nil
		modalValue: 	nil
		ancestry: 	a MCVersionInfo(Monticello-eem.717)
		index: 	2
		repositoryGroup: 	nil
		package: 	nil
		infos: 	{a MCVersionInfo(Monticello-eem.717) . a
MCVersionInfo(Monticello-nice.716...etc...

MCVersionHistoryBrowser(MCTool)>>perform:orSendTo:
	Receiver: a MCVersionHistoryBrowser
	Arguments and temporary variables:
		selector: 	#viewChanges
		otherTarget: 	a PluggableListMorphPlus(1058352)
	Receiver's instance variables:
		dependents: 	a DependentsArray(a
PluggableSystemWindow<Monticello-eem.717 Histor...etc...
		morph: 	nil
		label: 	nil
		modalProcess: 	nil
		modalValue: 	nil
		ancestry: 	a MCVersionInfo(Monticello-eem.717)
		index: 	2
		repositoryGroup: 	nil
		package: 	nil
		infos: 	{a MCVersionInfo(Monticello-eem.717) . a
MCVersionInfo(Monticello-nice.716...etc...

[] in MenuItemMorph>>invokeWithEvent:
	Receiver: a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
	Arguments and temporary variables:
<<error during printing>
	Receiver's instance variables:
		bounds: 	920 at 238 corner: 1302 at 262
		owner: 	a MenuMorph(3302562)
		submorphs: 	#()
		fullBounds: 	920 at 238 corner: 1302 at 262
		color: 	Color black
		extension: 	a MorphExtension (960164) [other:
(layoutProperties -> a LayoutProp...etc...
		font: 	a StrikeFont(Bitmap DejaVu Sans 14 22)
		emphasis: 	0
		contents: 	'view changes to Monticello-eem.717'
		hasFocus: 	false
		isEnabled: 	true
		subMenu: 	nil
		isSelected: 	false
		target: 	a MCVersionHistoryBrowser
		selector: 	#perform:orSendTo:
		arguments: 	{#viewChanges . a
PluggableListMorphPlus(1058352)}
		icon: 	nil

BlockClosure>>ensure:
	Receiver: [closure] in MenuItemMorph>>invokeWithEvent:
	Arguments and temporary variables:
		aBlock: 	[closure] in CursorWithMask(Cursor)>>showWhile:
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables:
		outerContext: 	MenuItemMorph>>invokeWithEvent:
		startpc: 	248
		numArgs: 	0

CursorWithMask(Cursor)>>showWhile:
	Receiver: ((CursorWithMask
	extent: 16 at 16
	depth: 1
	fromArray: #(
		2r0
		2r10000000000000000000000...etc...
	Arguments and temporary variables:
		aBlock: 	[closure] in MenuItemMorph>>invokeWithEvent:
		oldcursor: 	((CursorWithMask
	extent: 16 at 16
	depth: 1
	fromArray: #(
		2r0
		2r1...etc...
	Receiver's instance variables:
		bits: 	a Bitmap of length 16
		width: 	16
		height: 	16
		depth: 	1
		offset: 	-1@ -1
		maskForm: 	Form(16x16x1)

MenuItemMorph>>invokeWithEvent:
	Receiver: a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
	Arguments and temporary variables:
		evt: 	[1167 at 246 mouseUp ( red ) 1407146]
		w: 	a PasteUpMorph(2434915) [world]
	Receiver's instance variables:
		bounds: 	920 at 238 corner: 1302 at 262
		owner: 	a MenuMorph(3302562)
		submorphs: 	#()
		fullBounds: 	920 at 238 corner: 1302 at 262
		color: 	Color black
		extension: 	a MorphExtension (960164) [other:
(layoutProperties -> a LayoutProp...etc...
		font: 	a StrikeFont(Bitmap DejaVu Sans 14 22)
		emphasis: 	0
		contents: 	'view changes to Monticello-eem.717'
		hasFocus: 	false
		isEnabled: 	true
		subMenu: 	nil
		isSelected: 	false
		target: 	a MCVersionHistoryBrowser
		selector: 	#perform:orSendTo:
		arguments: 	{#viewChanges . a
PluggableListMorphPlus(1058352)}
		icon: 	nil

MenuItemMorph>>mouseUp:
	Receiver: a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
	Arguments and temporary variables:
		evt: 	[1167 at 246 mouseUp ( red ) 1407146]
	Receiver's instance variables:
		bounds: 	920 at 238 corner: 1302 at 262
		owner: 	a MenuMorph(3302562)
		submorphs: 	#()
		fullBounds: 	920 at 238 corner: 1302 at 262
		color: 	Color black
		extension: 	a MorphExtension (960164) [other:
(layoutProperties -> a LayoutProp...etc...
		font: 	a StrikeFont(Bitmap DejaVu Sans 14 22)
		emphasis: 	0
		contents: 	'view changes to Monticello-eem.717'
		hasFocus: 	false
		isEnabled: 	true
		subMenu: 	nil
		isSelected: 	false
		target: 	a MCVersionHistoryBrowser
		selector: 	#perform:orSendTo:
		arguments: 	{#viewChanges . a
PluggableListMorphPlus(1058352)}
		icon: 	nil

MenuItemMorph>>handleMouseUp:
	Receiver: a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
	Arguments and temporary variables:
		anEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
	Receiver's instance variables:
		bounds: 	920 at 238 corner: 1302 at 262
		owner: 	a MenuMorph(3302562)
		submorphs: 	#()
		fullBounds: 	920 at 238 corner: 1302 at 262
		color: 	Color black
		extension: 	a MorphExtension (960164) [other:
(layoutProperties -> a LayoutProp...etc...
		font: 	a StrikeFont(Bitmap DejaVu Sans 14 22)
		emphasis: 	0
		contents: 	'view changes to Monticello-eem.717'
		hasFocus: 	false
		isEnabled: 	true
		subMenu: 	nil
		isSelected: 	false
		target: 	a MCVersionHistoryBrowser
		selector: 	#perform:orSendTo:
		arguments: 	{#viewChanges . a
PluggableListMorphPlus(1058352)}
		icon: 	nil

MouseButtonEvent>>sentTo:
	Receiver: [1167 at 246 mouseUp ( red ) 1407146]
	Arguments and temporary variables:
		anObject: 	a MenuItemMorph(2941004)'view changes to
Monticello-eem.717'
	Receiver's instance variables:
		timeStamp: 	1407146
		source: 	a HandMorph(658510)
		type: 	#mouseUp
		buttons: 	0
		position: 	1167 at 246
		handler: 	nil
		wasHandled: 	true
		wasIgnored: 	false
		whichButton: 	4
		nClicks: 	0

MenuItemMorph(Morph)>>handleEvent:
	Receiver: a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
	Arguments and temporary variables:
		anEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
		filteredEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
	Receiver's instance variables:
		bounds: 	920 at 238 corner: 1302 at 262
		owner: 	a MenuMorph(3302562)
		submorphs: 	#()
		fullBounds: 	920 at 238 corner: 1302 at 262
		color: 	Color black
		extension: 	a MorphExtension (960164) [other:
(layoutProperties -> a LayoutProp...etc...
		font: 	a StrikeFont(Bitmap DejaVu Sans 14 22)
		emphasis: 	0
		contents: 	'view changes to Monticello-eem.717'
		hasFocus: 	false
		isEnabled: 	true
		subMenu: 	nil
		isSelected: 	false
		target: 	a MCVersionHistoryBrowser
		selector: 	#perform:orSendTo:
		arguments: 	{#viewChanges . a
PluggableListMorphPlus(1058352)}
		icon: 	nil

MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
	Receiver: a MorphicEventDispatcher
	Arguments and temporary variables:
		anEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
		aHandler: 	a MenuItemMorph(2941004)'view changes to
Monticello-eem.717'
		aMorph: 	a MenuItemMorph(2941004)'view changes to
Monticello-eem.717'
		result: 	#rejected
		filteredEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
	Receiver's instance variables:
		lastType: 	#mouseUp
		lastDispatch: 	#dispatchDefault:with:

MorphicEventDispatcher>>dispatchDefault:with:
	Receiver: a MorphicEventDispatcher
	Arguments and temporary variables:
		anEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
		aMorph: 	a MenuItemMorph(2941004)'view changes to
Monticello-eem.717'
	Receiver's instance variables:
		lastType: 	#mouseUp
		lastDispatch: 	#dispatchDefault:with:

MorphicEventDispatcher>>dispatchEvent:with:
	Receiver: a MorphicEventDispatcher
	Arguments and temporary variables:
		anEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
		aMorph: 	a MenuItemMorph(2941004)'view changes to
Monticello-eem.717'
	Receiver's instance variables:
		lastType: 	#mouseUp
		lastDispatch: 	#dispatchDefault:with:

MenuItemMorph(Morph)>>processEvent:using:
	Receiver: a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
	Arguments and temporary variables:
		anEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
		defaultDispatcher: 	a MorphicEventDispatcher
		filteredEvent: 	[1167 at 246 mouseUp ( red ) 1407146]
	Receiver's instance variables:
		bounds: 	920 at 238 corner: 1302 at 262
		owner: 	a MenuMorph(3302562)
		submorphs: 	#()
		fullBounds: 	920 at 238 corner: 1302 at 262
		color: 	Color black
		extension: 	a MorphExtension (960164) [other:
(layoutProperties -> a LayoutProp...etc...
		font: 	a StrikeFont(Bitmap DejaVu Sans 14 22)
		emphasis: 	0
		contents: 	'view changes to Monticello-eem.717'
		hasFocus: 	false
		isEnabled: 	true
		subMenu: 	nil
		isSelected: 	false
		target: 	a MCVersionHistoryBrowser
		selector: 	#perform:orSendTo:
		arguments: 	{#viewChanges . a
PluggableListMorphPlus(1058352)}
		icon: 	nil

[] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
	Receiver: a MorphicEventDispatcher
	Arguments and temporary variables:
<<error during printing>
	Receiver's instance variables:
		lastType: 	#mouseUp
		lastDispatch: 	#dispatchDefault:with:

Array(SequenceableCollection)>>do:
	Receiver: {a MenuItemMorph(2941004)'view changes to Monticello-eem.717'
. a MenuItemMorph(3786396)'v...etc...
	Arguments and temporary variables:
		aBlock: 	[closure] in
MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
		index: 	1
		indexLimiT: 	8
	Receiver's instance variables:
{a MenuItemMorph(2941004)'view changes to Monticello-eem.717' . a
MenuItemMorph(3786396)'v...etc...


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #snapshot
MCVersionHistoryBrowser>>snapshotForInfo:
MCVersionHistoryBrowser>>selectedSnapshot
MCVersionHistoryBrowser>>viewChanges
MCVersionHistoryBrowser(MCTool)>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
[] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
Array(SequenceableCollection)>>do:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MenuMorph(Morph)>>submorphsDo:
MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>doProcessingForFocusEvent:with:
MorphicEventDispatcher>>dispatchFocusEventFully:with:
MenuMorph>>processFocusEvent:using:
MenuMorph(Morph)>>processFocusEvent:
[] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
[] in [] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
HandMorph>>becomeActiveDuring:
[] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in MorphicProject>>spawnNewProcess
[] in BlockClosure>>newProcess

Am Freitag, 8. Mai 2020, 15:40:41 CEST schrieb Thiede, Christoph:
> Hi Martin,
>
>
> not sure if this is related, but I changed the behavior of the dependency
> sorter in a recent Monticello version. Could you try out Monticello-ct.717
> from the Inbox and tell us whether the problem remains?
>
>
> Best,
>
> Christoph
>
> ________________________________
> Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag
> von Martin Kuball <martinkuball at web.de> Gesendet: Freitag, 8. Mai 2020
> 13:57:18
> An: The general-purpose Squeak developers list
> Betreff: Re: [squeak-dev] Monticello postscript problem
>
> Hi Marcel,
>
> Am Freitag, 8. Mai 2020, 09:17:41 CEST schrieb Marcel Taeumel:
> > Hi Martin,
> >
> > I think that it would be better to first run all initializers and only
> > then
> > the package postscripts. I thought this happens anyway. :-)
> >
> > Can you point me to the source code you found?
>
> Sure.  Look at MCPackageLoader>>basicLoad. The problem is almost at the end
> with this lines:
>
>         additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)]
>                 displayingProgress: 'Initializing ', pkgName.
>
> The instance variable additions holds MCDefinition objects. Mostly for the
> classes but although the postscript. I replaced above lines with:
>
>         (additions select: [:ea | ea isScriptDefinition not]) do:
>                 [:ea | ea postloadOver: (self obsoletionFor: ea)]
>                 displayingProgress: 'Initializing classes ', pkgName.
>
>         (additions select: [:ea | ea isScriptDefinition]) do:
>                 [:ea | ea postloadOver: (self obsoletionFor: ea)]
>                 displayingProgress: 'executing postscript ', pkgName.
>
> But it would be much nicer to either have an extra variable for the
> postscript (assuming there could only be one) or make sure it always stays
> at the end of the list.
>
> > Best,
> > Marcel
> > Am 07.05.2020 21:50:28 schrieb Martin Kuball <martinkuball at web.de>:
> >
> > Am Donnerstag, 7. Mai 2020, 21:45:50 CEST schrieb Martin Kuball:
> > > Hi all,
> > >
> > > I have a problem with a postscript in one of my Monticello packages. It
> > > fails to execute because a class used in the script did not had it's
> > > initialize method run, yet. I took a look under the hood and found, that
> > > the postscript and the initializer execs are all mixed together in one
> > > list. But the postscript was not at the end of this list.
> > >
> > > So is this a bug or is there for some reason no guarantee that the
> > > postscript is run when everything else is done? I fixed this for me by
> > > running twice over the list. First for the non-scripts and then for the
> > > scripts. Not very pretty but seems to do the job.
> > >
> > > Martin
> >
> > I guess I should tell you that I'm using version 708 of monticello.






More information about the Squeak-dev mailing list