[squeak-dev] Trunk builds on smalltalkCI broken

Jakob Reschke forums.jakob at resfarm.de
Wed May 22 19:50:47 UTC 2019


Hello friends of automated builds and testing,

My Squeak-trunk builds have been broken for about two weeks. Seems like the
CodeLoader does not get what it needs when smalltalkCI shall be loaded
after the image updated itself from trunk.

The script argument passed to the image is an absolute file path. It gets
converted to a file URL in ProjectLauncher>>startUpAfterLogin, but then it
contains the path twice: file:///home/jakob/.../home/jakob/...

Looks like the regression was introduced in System-dtl.1064 (13 May 2019):
"Use Url rather than deprecated URI in
ProjectLauncher>>startUpAfterLogin.This prevents command line startup
scripts from failing due to a deprecation warning.Also fix a comment typo."
-                scriptName := (FileDirectory default uri
resolveRelativeURI: encodedPath) asString
+               scriptName := (FileDirectory default asUrl
newFromRelativeText: encodedPath) asString]]]

#resolveRelativeURI: has a guard for absolute URI arguments, which
newFromRelativeText: does not have.

Best regards,
Jakob


Error: No content to install
22 May 2019 9:16:19.528929 pm

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

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48
Trusted Dir /home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/secure
Untrusted Dir /home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/My Squeak

CodeLoader(Object)>>error:
Receiver: a CodeLoader
Arguments and temporary variables:
aString: 'No content to install'
Receiver's instance variables:
baseURL: ''
sourceFiles: {a HTTPDownloadRequest}
segments: nil
publicKey: nil

CodeLoader>>installSourceFile:
Receiver: a CodeLoader
Arguments and temporary variables:
aStream: nil
contents: nil
trusted: nil
Receiver's instance variables:
baseURL: ''
sourceFiles: {a HTTPDownloadRequest}
segments: nil
publicKey: nil

[] in CodeLoader>>installSourceFiles
Receiver: a CodeLoader
Arguments and temporary variables:
req: a HTTPDownloadRequest
Receiver's instance variables:
baseURL: ''
sourceFiles: {a HTTPDownloadRequest}
segments: nil
publicKey: nil

Array(SequenceableCollection)>>do:
Receiver: {a HTTPDownloadRequest}
Arguments and temporary variables:
aBlock: [closure] in CodeLoader>>installSourceFiles
index: 1
indexLimiT: 1
Receiver's instance variables:
{a HTTPDownloadRequest}
CodeLoader>>installSourceFiles
Receiver: a CodeLoader
Arguments and temporary variables:

Receiver's instance variables:
baseURL: ''
sourceFiles: {a HTTPDownloadRequest}
segments: nil
publicKey: nil

ProjectLauncher>>startUpAfterLogin
Receiver: a ProjectLauncher
Arguments and temporary variables:
scriptName:
'file:///home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/home/ja...etc...
loader: a CodeLoader
isUrl: false
encodedPath: '/home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/load.st'
pathTokens: #('' 'home' 'jakob' 'smalltalkCI' '_builds'
'2019_05_22_21_14_48' '...etc...
Receiver's instance variables:
parameters: a Dictionary()
showSplash: true
splashURL: nil
whichFlaps: nil
eToyAuthentificationServer: nil

ProjectLauncher>>startUp
Receiver: a ProjectLauncher
Arguments and temporary variables:

Receiver's instance variables:
parameters: a Dictionary()
showSplash: true
splashURL: nil
whichFlaps: nil
eToyAuthentificationServer: nil

[] in [] in AutoStart class>>startUp:
Receiver: AutoStart
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary()
format: 65537
instanceVariables: #('parameters')
organization: ('as yet unclassified')

subclasses: nil
name: #AutoStart
classPool: a Dictionary(#Active->true #InstalledLaunchers->an
OrderedCollection...etc...
sharedPools: nil
environment: Smalltalk
category: #'System-Support'

WorldState>>runStepMethodsIn:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
queue: a SharedQueue(1)
msg: [closure] in [] in AutoStart class>>startUp:
limit: 200
stamp: 3736005379526
Receiver's instance variables:
hands: {a HandMorph(20417)}
activeHand: a HandMorph(20417)
viewBox: 0 at 0 corner: 1024 at 768
canvas: a FormCanvas on: DisplayScreen(1024x768x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a ClockMorph(3418298)'21:16:19')(a
ClockMorph...etc...
lastStepTime: 3736005379523
lastStepMessage: nil
lastCycleTime: 3736005379526
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3736005379523
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

PasteUpMorph>>runStepMethods
Receiver: a PasteUpMorph(2434915) [world]
Arguments and temporary variables:

Receiver's instance variables:
bounds: 0 at 0 corner: 1024 at 768
owner: nil
submorphs: {a DockingBarMorph(1961294) . a
PluggableSystemWindow<Transcript>(25...etc...
fullBounds: 0 at 0 corner: 1024 at 768
color: (Color r: 0.251 g: 0.259 b: 0.267)
extension: a MorphExtension (3136713) [eventHandler = an EventHandler]
 [other:...etc...
borderWidth: 0
borderColor: (Color r: 0.515 g: 0.181 b: 0.263)
presenter: an EtoysPresenter (536818)
model: a MorphicModel(360625)
cursor: 1
padding: 3
backgroundMorph: nil
turtleTrailsForm: nil
turtlePen: nil
lastTurtlePositions: nil
isPartsBin: nil
indicateCursor: nil
wantsMouseOverHalos: nil
worldState: a WorldState
griddingOn: nil

WorldState>>doOneCycleNowFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
capturingGesture: #(false)
Receiver's instance variables:
hands: {a HandMorph(20417)}
activeHand: a HandMorph(20417)
viewBox: 0 at 0 corner: 1024 at 768
canvas: a FormCanvas on: DisplayScreen(1024x768x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a ClockMorph(3418298)'21:16:19')(a
ClockMorph...etc...
lastStepTime: 3736005379523
lastStepMessage: nil
lastCycleTime: 3736005379526
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3736005379523
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

WorldState>>doOneCycleFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(2434915) [world]
Receiver's instance variables:
hands: {a HandMorph(20417)}
activeHand: a HandMorph(20417)
viewBox: 0 at 0 corner: 1024 at 768
canvas: a FormCanvas on: DisplayScreen(1024x768x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a ClockMorph(3418298)'21:16:19')(a
ClockMorph...etc...
lastStepTime: 3736005379523
lastStepMessage: nil
lastCycleTime: 3736005379526
commandHistory: a CommandHistory
alarms: a MorphicAlarmQueue
lastAlarmTime: 3736005379523
remoteServer: nil
multiCanvas: nil
interCycleDelay: a Delay(20 msecs)

PasteUpMorph>>doOneCycle
Receiver: a PasteUpMorph(2434915) [world]
Arguments and temporary variables:

Receiver's instance variables:
bounds: 0 at 0 corner: 1024 at 768
owner: nil
submorphs: {a DockingBarMorph(1961294) . a
PluggableSystemWindow<Transcript>(25...etc...
fullBounds: 0 at 0 corner: 1024 at 768
color: (Color r: 0.251 g: 0.259 b: 0.267)
extension: a MorphExtension (3136713) [eventHandler = an EventHandler]
 [other:...etc...
borderWidth: 0
borderColor: (Color r: 0.515 g: 0.181 b: 0.263)
presenter: an EtoysPresenter (536818)
model: a MorphicModel(360625)
cursor: 1
padding: 3
backgroundMorph: nil
turtleTrailsForm: nil
turtlePen: nil
lastTurtlePositions: nil
isPartsBin: nil
indicateCursor: nil
wantsMouseOverHalos: nil
worldState: a WorldState
griddingOn: nil

[] in MorphicProject>>spawnNewProcess
Receiver: a MorphicProject (Unnamed1) in a PasteUpMorph(2434915) [world]
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
dependents: nil
world: a PasteUpMorph(2434915) [world]
uiManager: a MorphicUIManager
changeSet: a ChangeSet named Unnamed1
transcript: a TranscriptStream
parentProject: a MorphicProject (Unnamed1) in a PasteUpMorph(2434915)
[world]
previousProject: nil
displayDepth: 32
viewSize: 151 at 132
thumbnail: Form(151x132x32)
nextProject: nil
projectParameters: an IdentityDictionary(#PrevailingProjectFlags->an
IdentityDictionary...etc...
version: nil
urlList: nil
lastDirectory: nil
lastSavedAtSeconds: nil
projectPreferenceFlagDictionary: an
IdentityDictionary(#showSharedFlaps->true #showWorldMainDockingBar...etc...
resourceManager: a ResourceManager
uiProcess: a Process in nil

[] in BlockClosure>>newProcess
Receiver: [closure] in MorphicProject>>spawnNewProcess
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
outerContext: MorphicProject>>spawnNewProcess
startpc: 101
numArgs: 0


--- The full stack ---
CodeLoader(Object)>>error:
CodeLoader>>installSourceFile:
[] in CodeLoader>>installSourceFiles
Array(SequenceableCollection)>>do:
CodeLoader>>installSourceFiles
ProjectLauncher>>startUpAfterLogin
ProjectLauncher>>startUp
[] in [] in AutoStart class>>startUp:
WorldState>>runStepMethodsIn:
PasteUpMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in MorphicProject>>spawnNewProcess
[] in BlockClosure>>newProcess
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190522/c2caf4a2/attachment.html>


More information about the Squeak-dev mailing list