[squeak-dev] Trunk builds on smalltalkCI broken

David T. Lewis lewis at mail.msen.com
Wed May 22 20:51:38 UTC 2019


Mea culpa, I broke it.

I think that the change in System-dtl.1064 will need to be reverted, at
least until such time as we can get a correct solution. If anyone knows
how to handle the relative path resolution for Url, please speak up.
Otherwise I'll revert my changes in a few hours so that the CI builds can
get back to normal.

Dave

> 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
>
>




More information about the Squeak-dev mailing list