<div dir="ltr">Hi Frank,<div><br></div><div>Sound reasonable your comment, but in my case i don't have startup file, i guess, please see the parameters passed to squeakvm, no startup file is passed, right ? Or there is something I'm don't understanding </div>
<div><br></div><div>Thanks.</div><div><br></div><div>Gustavo. </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 6, 2013 at 11:26 AM, Frank Shearar <span dir="ltr"><<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 6 December 2013 12:34, Gustavo Duarte <<a href="mailto:gduarte@activitycentral.com">gduarte@activitycentral.com</a>> wrote:<br>
> Dave,<br>
><br>
> I believe that squeakvm is compiled with Sugar support, because I can run<br>
> Scratch and save projects on Journal, just in case, there is another way to<br>
> know if squeakvm is compiled with Sugar support ?<br>
><br>
><br>
> I paste bellow another test I had done:<br>
><br>
> As Scratch is working well with the interaction with Sugar, I copied the<br>
> same parameters of Scratch starting script, and executed this from a<br>
> terminal as:<br>
><br>
> sudo /usr/lib/squeak/4.4.7-2357/squeakvm -vm-display-X11 -swapbtn -encoding<br>
> UTF-8 -vm-sound-ALSA -sugarBundleId org.vpri.EtoysActivity -sugarActivityId<br>
> 24c67ec800d1d71723f959b56a213accf140e7bc /usr/share/etoys/etoys.image<br>
> SQUEAKLETS /home/gustavo-cm1/.sugar/default/org.vpri.EtoysActivity/instance/<br>
> BUNDLE_ID org.vpri.EtoysActivity ACTIVITY_ID<br>
> 24c67ec800d1d71723f959b56a213accf140e7bc<br>
><br>
><br>
><br>
><br>
> The output debug log is:<br>
><br>
><br>
> =========== SqueakDebug.log START ==========<br>
> Error: No content to install<br>
> 6 December 2013 10:05:27 am<br>
><br>
> VM: unix - a SmalltalkImage<br>
> Image: etoys5.0 [latest update: #2408]<br>
><br>
> SecurityManager state:<br>
> Restricted: false<br>
> FileAccess: true<br>
> SocketAccess: true<br>
> Working Dir /usr/share/etoys/My Squeak<br>
> Trusted Dir /usr/share/etoys/secure<br>
> Untrusted Dir /usr/share/etoys/My 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>
</div></div>I don't know if it's hugely useful info, but 'No content to install'<br>
means the startup file couldn't be found. This often happens to me<br>
because the startup file location is relative to the directory<br>
containing the image, not the location where you run the command.<br>
<br>
So if you're in /home/frank/squeak-ci/ and you say "$<br>
target/cog.r2766/coglinux/bin/squeak target/TrunkImage.image<br>
HudsonTools.st", "HudsonTools.st" is translated into<br>
"/home/frank/squeak-ci/target/HudsonTools.st", not<br>
"/home/frank/squeak-ci/HudsonTools.st".<br>
<span class="HOEnZb"><font color="#888888"><br>
frank<br>
</font></span><div class="HOEnZb"><div class="h5"><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 {[:req | self installSourceFile: req<br>
> contentStream]}<br>
> Arguments and temporary variables:<br>
> req: a HTTPDownloadRequest<br>
><br>
> Array(SequenceableCollection)>>do:<br>
> Receiver: #(a HTTPDownloadRequest)<br>
> Arguments and temporary variables:<br>
> aBlock: [] in CodeLoader>>installSourceFiles {[:req | self<br>
> installSourceFile: r...etc...<br>
> index: 1<br>
> indexLimiT: 1<br>
> Receiver's instance variables:<br>
> #(a HTTPDownloadRequest)<br>
><br>
><br>
> --- The full stack ---<br>
> CodeLoader(Object)>>error:<br>
> CodeLoader>>installSourceFile:<br>
> [] in CodeLoader>>installSourceFiles {[:req | self installSourceFile: req<br>
> contentStream]}<br>
> Array(SequenceableCollection)>>do:<br>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br>
> CodeLoader>>installSourceFiles<br>
> ProjectLauncher>>startUpAfterLogin<br>
> ProjectLauncher>>doEtoyLogin<br>
> ProjectLauncher>>startUp<br>
> [] in AutoStart class>>startUp: {[launcher startUp]}<br>
> WorldState>>runStepMethodsIn:<br>
> PasteUpMorph>>runStepMethods<br>
> WorldState>>doOneCycleNowFor:<br>
> WorldState>>doOneCycleFor:<br>
> PasteUpMorph>>doOneCycle<br>
> [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor yield.<br>
> false] whileFalse. nil]}<br>
> [] in BlockContext>>newProcess {[self value. Processor terminateActive]}<br>
> =========== SqueakDebug.log END ==========<br>
><br>
><br>
><br>
> On Fri, Dec 6, 2013 at 12:17 AM, David T. Lewis <<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>> wrote:<br>
>><br>
>> On Thu, Dec 05, 2013 at 02:36:42PM -0800, Eliot Miranda wrote:<br>
>> > On Thu, Dec 5, 2013 at 2:01 PM, Gustavo Duarte<br>
>> > <<a href="mailto:gduarte@activitycentral.com">gduarte@activitycentral.com</a>>wrote:<br>
>> ><br>
>> > > Eliot,<br>
>> > ><br>
>> > > Here the output of ps ww PID command.<br>
>> > ><br>
>> > > XO:<br>
>> > ><br>
>> > > PID TTY STAT TIME COMMAND<br>
>> > > 976 ? S 0:22 /usr/lib/squeak/4.10.2-2614/squeakvm<br>
>> > > -encoding<br>
>> > > UTF-8 -vm-display-x11 -xshm -sugarBundleId org.vpri.EtoysActivity<br>
>> > > -sugarActivityId d25f8c2f9a19397ce914965abf04ed31b3f6b0ea<br>
>> > > -vm-sound-ALSA<br>
>> > > /usr/share/etoys/etoys.image BUNDLE_PATH<br>
>> > > /home/olpc/Activities/Etoys.activity SQUEAKLETS<br>
>> > > /home/olpc/.sugar/default/org.vpri.EtoysActivity/instance BUNDLE_ID<br>
>> > > org.vpri.EtoysActivity ACTIVITY_ID<br>
>> > > d25f8c2f9a19397ce914965abf04ed31b3f6b0ea<br>
>> > ><br>
>> > ><br>
>> > > CM:<br>
>> > ><br>
>> > > PID TTY STAT TIME COMMAND<br>
>> > > 5912 ? Rl 0:06 /usr/lib/squeak/4.4.7-2357/squeakvm<br>
>> > > -encoding<br>
>> > > UTF-8 -vm-display-x11 -xshm -sugarBundleId org.vpri.EtoysActivity<br>
>> > > -sugarActivityId c03be0a816bee1440f701b7d3b504b0968cb3274<br>
>> > > -vm-sound-pulse<br>
>> > > /usr/share/etoys/etoys.image BUNDLE_PATH<br>
>> > > /usr/share/sugar/activities/Etoys.activity SQUEAKLETS<br>
>> > > /home/gustavo-cm1/.sugar/default/org.vpri.EtoysActivity/instance<br>
>> > > BUNDLE_ID<br>
>> > > org.vpri.EtoysActivity ACTIVITY_ID<br>
>> > > c03be0a816bee1440f701b7d3b504b0968cb3274<br>
>> > ><br>
>> > ><br>
>> > > Seem the script that start squeak is ok, right ?<br>
>> > ><br>
>> ><br>
>> ><br>
>> > Looks like it :-(. That implies theres a bug in the VM on ubuntu :-(.<br>
>> > Might it be something to do with the vm-sound-pulse plugin mis-parsing<br>
>> > the<br>
>> > command line? What happens if you start it with no sound (omit<br>
>> > -vm-sound-pulse) ?<br>
>> ><br>
>><br>
>> After reading this thread, I was initially confused by the command line<br>
>> options that are being passed to the VM:<br>
>><br>
>> -encoding UTF-8<br>
>> -vm-display-x11<br>
>> -xshm<br>
>> -sugarBundleId org.vpri.EtoysActivity<br>
>> -sugarActivityId c03be0a816bee1440f701b7d3b504b0968cb3274<br>
>> -vm-sound-pulse<br>
>><br>
>> These are options that are parsed by the VM executable itself, as opposed<br>
>> to being passed to the Etoys image and evaluated there.<br>
>><br>
>> I took a look at the VM sources, and see that the -sugarBundleId and<br>
>> the -sugarActivityId parameters will be interpreted by the VM executable<br>
>> if and only if the VM was compiled with Sugar support:<br>
>><br>
>> # if defined(SUGAR)<br>
>> else if (!strcmp(arg, "-sugarBundleId")) sugarBundleId= argv[1];<br>
>> else if (!strcmp(arg, "-sugarActivityId")) sugarActivityId=<br>
>> argv[1];<br>
>> # endif<br>
>><br>
>> I expect that if the Etoys image is run from a script that specifies those<br>
>> two VM parameters, and if the VM was not compiled without Sugar support,<br>
>> then the command line parameters are probably going to get out of whack.<br>
>> The dictionary that got turned inside out is probably a side effect of<br>
>> this.<br>
>><br>
>> So my guess is that the script is trying to run a VM for Etoys in the<br>
>> Sugar environment, but the VM that is being run by that script was not<br>
>> compiled with Sugar support enabled.<br>
>><br>
>> Dave<br>
>><br>
>><br>
><br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>