[squeak-dev] Interaction with Sugar on Ubuntu.

Gustavo Duarte gduarte at activitycentral.com
Fri Dec 6 12:34:16 UTC 2013


Dave,

I believe that squeakvm is compiled with Sugar support, because I can run
Scratch and save projects on Journal, just in case, there is another way to
know if squeakvm is compiled with Sugar support ?


I paste bellow another test I had done:

As Scratch is working well with the interaction with Sugar, I copied the
same parameters of Scratch starting script, and executed this from a
terminal as:

sudo /usr/lib/squeak/4.4.7-2357/squeakvm -vm-display-X11 -swapbtn -encoding
UTF-8 -vm-sound-ALSA -sugarBundleId org.vpri.EtoysActivity -sugarActivityId
24c67ec800d1d71723f959b56a213accf140e7bc /usr/share/etoys/etoys.image
SQUEAKLETS
/home/gustavo-cm1/.sugar/default/org.vpri.EtoysActivity/instance/ BUNDLE_ID
org.vpri.EtoysActivity ACTIVITY_ID 24c67ec800d1d71723f959b56a213accf140e7bc




The output debug log is:


=========== SqueakDebug.log START ==========
Error: No content to install
6 December 2013 10:05:27 am

VM: unix - a SmalltalkImage
Image: etoys5.0 [latest update: #2408]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /usr/share/etoys/My Squeak
Trusted Dir /usr/share/etoys/secure
Untrusted Dir /usr/share/etoys/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 {[:req | self installSourceFile: req
contentStream]}
Arguments and temporary variables:
req:  a HTTPDownloadRequest

Array(SequenceableCollection)>>do:
Receiver: #(a HTTPDownloadRequest)
Arguments and temporary variables:
aBlock:  [] in CodeLoader>>installSourceFiles {[:req | self
installSourceFile: r...etc...
index:  1
indexLimiT:  1
Receiver's instance variables:
#(a HTTPDownloadRequest)


--- The full stack ---
CodeLoader(Object)>>error:
CodeLoader>>installSourceFile:
[] in CodeLoader>>installSourceFiles {[:req | self installSourceFile: req
contentStream]}
Array(SequenceableCollection)>>do:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeLoader>>installSourceFiles
ProjectLauncher>>startUpAfterLogin
ProjectLauncher>>doEtoyLogin
ProjectLauncher>>startUp
[] in AutoStart class>>startUp: {[launcher startUp]}
WorldState>>runStepMethodsIn:
PasteUpMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.
 false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}
=========== SqueakDebug.log END  ==========



On Fri, Dec 6, 2013 at 12:17 AM, David T. Lewis <lewis at mail.msen.com> wrote:

> On Thu, Dec 05, 2013 at 02:36:42PM -0800, Eliot Miranda wrote:
> > On Thu, Dec 5, 2013 at 2:01 PM, Gustavo Duarte
> > <gduarte at activitycentral.com>wrote:
> >
> > > Eliot,
> > >
> > > Here the output of ps ww PID command.
> > >
> > > XO:
> > >
> > > PID TTY      STAT   TIME COMMAND
> > >   976 ?        S      0:22 /usr/lib/squeak/4.10.2-2614/squeakvm
> -encoding
> > > UTF-8 -vm-display-x11 -xshm -sugarBundleId org.vpri.EtoysActivity
> > > -sugarActivityId d25f8c2f9a19397ce914965abf04ed31b3f6b0ea
> -vm-sound-ALSA
> > > /usr/share/etoys/etoys.image  BUNDLE_PATH
> > > /home/olpc/Activities/Etoys.activity SQUEAKLETS
> > > /home/olpc/.sugar/default/org.vpri.EtoysActivity/instance BUNDLE_ID
> > > org.vpri.EtoysActivity ACTIVITY_ID
> d25f8c2f9a19397ce914965abf04ed31b3f6b0ea
> > >
> > >
> > > CM:
> > >
> > > PID TTY      STAT   TIME COMMAND
> > >  5912 ?        Rl     0:06 /usr/lib/squeak/4.4.7-2357/squeakvm
> -encoding
> > > UTF-8 -vm-display-x11 -xshm -sugarBundleId org.vpri.EtoysActivity
> > > -sugarActivityId c03be0a816bee1440f701b7d3b504b0968cb3274
> -vm-sound-pulse
> > > /usr/share/etoys/etoys.image BUNDLE_PATH
> > > /usr/share/sugar/activities/Etoys.activity SQUEAKLETS
> > > /home/gustavo-cm1/.sugar/default/org.vpri.EtoysActivity/instance
> BUNDLE_ID
> > > org.vpri.EtoysActivity ACTIVITY_ID
> c03be0a816bee1440f701b7d3b504b0968cb3274
> > >
> > >
> > > Seem the script that start squeak is ok, right ?
> > >
> >
> >
> > Looks like it :-(.  That implies theres a bug in the VM on ubuntu :-(.
> >  Might it be something to do with the vm-sound-pulse plugin mis-parsing
> the
> > command line?  What happens if you start it with no sound (omit
> > -vm-sound-pulse) ?
> >
>
> After reading this thread, I was initially confused by the command line
> options that are being passed to the VM:
>
>   -encoding UTF-8
>   -vm-display-x11
>   -xshm
>   -sugarBundleId org.vpri.EtoysActivity
>   -sugarActivityId c03be0a816bee1440f701b7d3b504b0968cb3274
>   -vm-sound-pulse
>
> These are options that are parsed by the VM executable itself, as opposed
> to being passed to the Etoys image and evaluated there.
>
> I took a look at the VM sources, and see that the -sugarBundleId and
> the -sugarActivityId parameters will be interpreted by the VM executable
> if and only if the VM was compiled with Sugar support:
>
>   #    if defined(SUGAR)
>         else if (!strcmp(arg, "-sugarBundleId"))   sugarBundleId= argv[1];
>         else if (!strcmp(arg, "-sugarActivityId")) sugarActivityId=
> argv[1];
>   #    endif
>
> I expect that if the Etoys image is run from a script that specifies those
> two VM parameters, and if the VM was not compiled without Sugar support,
> then the command line parameters are probably going to get out of whack.
> The dictionary that got turned inside out is probably a side effect of
> this.
>
> So my guess is that the script is trying to run a VM for Etoys in the
> Sugar environment, but the VM that is being run by that script was not
> compiled with Sugar support enabled.
>
> Dave
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20131206/933b9c78/attachment.htm


More information about the Squeak-dev mailing list