<div dir="ltr">Hi Jakob, hi Dave,<br><div><br></div><div>As Jakob suggested, I've partially reverted System-dtl.1064 with [1] to unblock smalltalkCI builds. I've also fixed a problem in the new MetacelloStub, so hopefully CI will generate a new trunk build soon (last one was built last month).</div><div><br></div><div>Fabio</div><div><br></div><div>[1] <a href="http://forum.world.st/The-Trunk-System-fn-1066-mcz-td5099599.html">http://forum.world.st/The-Trunk-System-fn-1066-mcz-td5099599.html</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 10:52 PM David T. Lewis <<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Mea culpa, I broke it.<br>
<br>
I think that the change in System-dtl.1064 will need to be reverted, at<br>
least until such time as we can get a correct solution. If anyone knows<br>
how to handle the relative path resolution for Url, please speak up.<br>
Otherwise I'll revert my changes in a few hours so that the CI builds can<br>
get back to normal.<br>
<br>
Dave<br>
<br>
> Hello friends of automated builds and testing,<br>
><br>
> My Squeak-trunk builds have been broken for about two weeks. Seems like<br>
> the<br>
> CodeLoader does not get what it needs when smalltalkCI shall be loaded<br>
> after the image updated itself from trunk.<br>
><br>
> The script argument passed to the image is an absolute file path. It gets<br>
> converted to a file URL in ProjectLauncher>>startUpAfterLogin, but then it<br>
> contains the path twice: file:///home/jakob/.../home/jakob/...<br>
><br>
> Looks like the regression was introduced in System-dtl.1064 (13 May 2019):<br>
> "Use Url rather than deprecated URI in<br>
> ProjectLauncher>>startUpAfterLogin.This prevents command line startup<br>
> scripts from failing due to a deprecation warning.Also fix a comment<br>
> typo."<br>
> -                scriptName := (FileDirectory default uri<br>
> resolveRelativeURI: encodedPath) asString<br>
> +               scriptName := (FileDirectory default asUrl<br>
> newFromRelativeText: encodedPath) asString]]]<br>
><br>
> #resolveRelativeURI: has a guard for absolute URI arguments, which<br>
> newFromRelativeText: does not have.<br>
><br>
> Best regards,<br>
> Jakob<br>
><br>
><br>
> Error: No content to install<br>
> 22 May 2019 9:16:19.528929 pm<br>
><br>
> VM: unix - Smalltalk<br>
> Image: Squeak5.3alpha [latest update: #18590]<br>
><br>
> SecurityManager state:<br>
> Restricted: false<br>
> FileAccess: true<br>
> SocketAccess: true<br>
> Working Dir /home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48<br>
> Trusted Dir /home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/secure<br>
> Untrusted Dir /home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/My<br>
> Squeak<br>
><br>
> CodeLoader(Object)>>error:<br>
> Receiver: a CodeLoader<br>
> Arguments and temporary variables:<br>
> aString: 'No content to install'<br>
> Receiver's instance variables:<br>
> baseURL: ''<br>
> sourceFiles: {a HTTPDownloadRequest}<br>
> segments: nil<br>
> publicKey: nil<br>
><br>
> CodeLoader>>installSourceFile:<br>
> Receiver: a CodeLoader<br>
> Arguments and temporary variables:<br>
> aStream: nil<br>
> contents: nil<br>
> trusted: nil<br>
> Receiver's instance variables:<br>
> baseURL: ''<br>
> sourceFiles: {a HTTPDownloadRequest}<br>
> segments: nil<br>
> publicKey: nil<br>
><br>
> [] in CodeLoader>>installSourceFiles<br>
> Receiver: a CodeLoader<br>
> Arguments and temporary variables:<br>
> req: a HTTPDownloadRequest<br>
> Receiver's instance variables:<br>
> baseURL: ''<br>
> sourceFiles: {a HTTPDownloadRequest}<br>
> segments: nil<br>
> publicKey: nil<br>
><br>
> Array(SequenceableCollection)>>do:<br>
> Receiver: {a HTTPDownloadRequest}<br>
> Arguments and temporary variables:<br>
> aBlock: [closure] in CodeLoader>>installSourceFiles<br>
> index: 1<br>
> indexLimiT: 1<br>
> Receiver's instance variables:<br>
> {a HTTPDownloadRequest}<br>
> CodeLoader>>installSourceFiles<br>
> Receiver: a CodeLoader<br>
> Arguments and temporary variables:<br>
><br>
> Receiver's instance variables:<br>
> baseURL: ''<br>
> sourceFiles: {a HTTPDownloadRequest}<br>
> segments: nil<br>
> publicKey: nil<br>
><br>
> ProjectLauncher>>startUpAfterLogin<br>
> Receiver: a ProjectLauncher<br>
> Arguments and temporary variables:<br>
> scriptName:<br>
> 'file:///home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/home/ja...etc...<br>
> loader: a CodeLoader<br>
> isUrl: false<br>
> encodedPath: '/home/jakob/smalltalkCI/_builds/2019_05_22_21_14_48/<a href="http://load.st" rel="noreferrer" target="_blank">load.st</a>'<br>
> pathTokens: #('' 'home' 'jakob' 'smalltalkCI' '_builds'<br>
> '2019_05_22_21_14_48' '...etc...<br>
> Receiver's instance variables:<br>
> parameters: a Dictionary()<br>
> showSplash: true<br>
> splashURL: nil<br>
> whichFlaps: nil<br>
> eToyAuthentificationServer: nil<br>
><br>
> ProjectLauncher>>startUp<br>
> Receiver: a ProjectLauncher<br>
> Arguments and temporary variables:<br>
><br>
> Receiver's instance variables:<br>
> parameters: a Dictionary()<br>
> showSplash: true<br>
> splashURL: nil<br>
> whichFlaps: nil<br>
> eToyAuthentificationServer: nil<br>
><br>
> [] in [] in AutoStart class>>startUp:<br>
> Receiver: AutoStart<br>
> Arguments and temporary variables:<br>
> <<error during printing><br>
> Receiver's instance variables:<br>
> superclass: Object<br>
> methodDict: a MethodDictionary()<br>
> format: 65537<br>
> instanceVariables: #('parameters')<br>
> organization: ('as yet unclassified')<br>
><br>
> subclasses: nil<br>
> name: #AutoStart<br>
> classPool: a Dictionary(#Active->true #InstalledLaunchers->an<br>
> OrderedCollection...etc...<br>
> sharedPools: nil<br>
> environment: Smalltalk<br>
> category: #'System-Support'<br>
><br>
> WorldState>>runStepMethodsIn:<br>
> Receiver: a WorldState<br>
> Arguments and temporary variables:<br>
> aWorld: a PasteUpMorph(2434915) [world]<br>
> queue: a SharedQueue(1)<br>
> msg: [closure] in [] in AutoStart class>>startUp:<br>
> limit: 200<br>
> stamp: 3736005379526<br>
> Receiver's instance variables:<br>
> hands: {a HandMorph(20417)}<br>
> activeHand: a HandMorph(20417)<br>
> viewBox: 0@0 corner: 1024@768<br>
> canvas: a FormCanvas on: DisplayScreen(1024x768x32)<br>
> damageRecorder: a DamageRecorder<br>
> stepList: a Heap(StepMessage(#stepAt: -> a<br>
> ClockMorph(3418298)'21:16:19')(a<br>
> ClockMorph...etc...<br>
> lastStepTime: 3736005379523<br>
> lastStepMessage: nil<br>
> lastCycleTime: 3736005379526<br>
> commandHistory: a CommandHistory<br>
> alarms: a MorphicAlarmQueue<br>
> lastAlarmTime: 3736005379523<br>
> remoteServer: nil<br>
> multiCanvas: nil<br>
> interCycleDelay: a Delay(20 msecs)<br>
><br>
> PasteUpMorph>>runStepMethods<br>
> Receiver: a PasteUpMorph(2434915) [world]<br>
> Arguments and temporary variables:<br>
><br>
> Receiver's instance variables:<br>
> bounds: 0@0 corner: 1024@768<br>
> owner: nil<br>
> submorphs: {a DockingBarMorph(1961294) . a<br>
> PluggableSystemWindow<Transcript>(25...etc...<br>
> fullBounds: 0@0 corner: 1024@768<br>
> color: (Color r: 0.251 g: 0.259 b: 0.267)<br>
> extension: a MorphExtension (3136713) [eventHandler = an EventHandler]<br>
>  [other:...etc...<br>
> borderWidth: 0<br>
> borderColor: (Color r: 0.515 g: 0.181 b: 0.263)<br>
> presenter: an EtoysPresenter (536818)<br>
> model: a MorphicModel(360625)<br>
> cursor: 1<br>
> padding: 3<br>
> backgroundMorph: nil<br>
> turtleTrailsForm: nil<br>
> turtlePen: nil<br>
> lastTurtlePositions: nil<br>
> isPartsBin: nil<br>
> indicateCursor: nil<br>
> wantsMouseOverHalos: nil<br>
> worldState: a WorldState<br>
> griddingOn: nil<br>
><br>
> WorldState>>doOneCycleNowFor:<br>
> Receiver: a WorldState<br>
> Arguments and temporary variables:<br>
> aWorld: a PasteUpMorph(2434915) [world]<br>
> capturingGesture: #(false)<br>
> Receiver's instance variables:<br>
> hands: {a HandMorph(20417)}<br>
> activeHand: a HandMorph(20417)<br>
> viewBox: 0@0 corner: 1024@768<br>
> canvas: a FormCanvas on: DisplayScreen(1024x768x32)<br>
> damageRecorder: a DamageRecorder<br>
> stepList: a Heap(StepMessage(#stepAt: -> a<br>
> ClockMorph(3418298)'21:16:19')(a<br>
> ClockMorph...etc...<br>
> lastStepTime: 3736005379523<br>
> lastStepMessage: nil<br>
> lastCycleTime: 3736005379526<br>
> commandHistory: a CommandHistory<br>
> alarms: a MorphicAlarmQueue<br>
> lastAlarmTime: 3736005379523<br>
> remoteServer: nil<br>
> multiCanvas: nil<br>
> interCycleDelay: a Delay(20 msecs)<br>
><br>
> WorldState>>doOneCycleFor:<br>
> Receiver: a WorldState<br>
> Arguments and temporary variables:<br>
> aWorld: a PasteUpMorph(2434915) [world]<br>
> Receiver's instance variables:<br>
> hands: {a HandMorph(20417)}<br>
> activeHand: a HandMorph(20417)<br>
> viewBox: 0@0 corner: 1024@768<br>
> canvas: a FormCanvas on: DisplayScreen(1024x768x32)<br>
> damageRecorder: a DamageRecorder<br>
> stepList: a Heap(StepMessage(#stepAt: -> a<br>
> ClockMorph(3418298)'21:16:19')(a<br>
> ClockMorph...etc...<br>
> lastStepTime: 3736005379523<br>
> lastStepMessage: nil<br>
> lastCycleTime: 3736005379526<br>
> commandHistory: a CommandHistory<br>
> alarms: a MorphicAlarmQueue<br>
> lastAlarmTime: 3736005379523<br>
> remoteServer: nil<br>
> multiCanvas: nil<br>
> interCycleDelay: a Delay(20 msecs)<br>
><br>
> PasteUpMorph>>doOneCycle<br>
> Receiver: a PasteUpMorph(2434915) [world]<br>
> Arguments and temporary variables:<br>
><br>
> Receiver's instance variables:<br>
> bounds: 0@0 corner: 1024@768<br>
> owner: nil<br>
> submorphs: {a DockingBarMorph(1961294) . a<br>
> PluggableSystemWindow<Transcript>(25...etc...<br>
> fullBounds: 0@0 corner: 1024@768<br>
> color: (Color r: 0.251 g: 0.259 b: 0.267)<br>
> extension: a MorphExtension (3136713) [eventHandler = an EventHandler]<br>
>  [other:...etc...<br>
> borderWidth: 0<br>
> borderColor: (Color r: 0.515 g: 0.181 b: 0.263)<br>
> presenter: an EtoysPresenter (536818)<br>
> model: a MorphicModel(360625)<br>
> cursor: 1<br>
> padding: 3<br>
> backgroundMorph: nil<br>
> turtleTrailsForm: nil<br>
> turtlePen: nil<br>
> lastTurtlePositions: nil<br>
> isPartsBin: nil<br>
> indicateCursor: nil<br>
> wantsMouseOverHalos: nil<br>
> worldState: a WorldState<br>
> griddingOn: nil<br>
><br>
> [] in MorphicProject>>spawnNewProcess<br>
> Receiver: a MorphicProject (Unnamed1) in a PasteUpMorph(2434915) [world]<br>
> Arguments and temporary variables:<br>
> <<error during printing><br>
> Receiver's instance variables:<br>
> dependents: nil<br>
> world: a PasteUpMorph(2434915) [world]<br>
> uiManager: a MorphicUIManager<br>
> changeSet: a ChangeSet named Unnamed1<br>
> transcript: a TranscriptStream<br>
> parentProject: a MorphicProject (Unnamed1) in a PasteUpMorph(2434915)<br>
> [world]<br>
> previousProject: nil<br>
> displayDepth: 32<br>
> viewSize: 151@132<br>
> thumbnail: Form(151x132x32)<br>
> nextProject: nil<br>
> projectParameters: an IdentityDictionary(#PrevailingProjectFlags->an<br>
> IdentityDictionary...etc...<br>
> version: nil<br>
> urlList: nil<br>
> lastDirectory: nil<br>
> lastSavedAtSeconds: nil<br>
> projectPreferenceFlagDictionary: an<br>
> IdentityDictionary(#showSharedFlaps->true<br>
> #showWorldMainDockingBar...etc...<br>
> resourceManager: a ResourceManager<br>
> uiProcess: a Process in nil<br>
><br>
> [] in BlockClosure>>newProcess<br>
> Receiver: [closure] in MorphicProject>>spawnNewProcess<br>
> Arguments and temporary variables:<br>
> <<error during printing><br>
> Receiver's instance variables:<br>
> outerContext: MorphicProject>>spawnNewProcess<br>
> startpc: 101<br>
> numArgs: 0<br>
><br>
><br>
> --- The full stack ---<br>
> CodeLoader(Object)>>error:<br>
> CodeLoader>>installSourceFile:<br>
> [] in CodeLoader>>installSourceFiles<br>
> Array(SequenceableCollection)>>do:<br>
> CodeLoader>>installSourceFiles<br>
> ProjectLauncher>>startUpAfterLogin<br>
> ProjectLauncher>>startUp<br>
> [] in [] in AutoStart class>>startUp:<br>
> WorldState>>runStepMethodsIn:<br>
> PasteUpMorph>>runStepMethods<br>
> WorldState>>doOneCycleNowFor:<br>
> WorldState>>doOneCycleFor:<br>
> PasteUpMorph>>doOneCycle<br>
> [] in MorphicProject>>spawnNewProcess<br>
> [] in BlockClosure>>newProcess<br>
><br>
><br>
<br>
<br>
<br>
</blockquote></div>