[Vm-dev] Cog + Pi + OSProcess

David T. Lewis lewis at mail.msen.com
Sat Jun 18 14:18:20 UTC 2016


On Fri, Jun 17, 2016 at 09:12:56AM +0200, Tim Felgentreff wrote:
>  
> Dave,
> 
> there are builds for Raspbian on our new bintray page. If all you want
> is the latest version, you should be able to just use these, no need
> to compile yourself:
> https://bintray.com/opensmalltalk/vm/cog/201606161953/view#files
> 

Hi Tim,

The latest VM at bintray works fine, thanks.

I also tried running the Squeak 5.0 all-in-one. It crashes. Yikes.

The attached nohup.out shows the error. Has this been reported before?

Dave



> 
> On 17 June 2016 at 03:40, David T. Lewis <lewis at mail.msen.com> wrote:
> >
> > On Wed, Jun 08, 2016 at 11:42:57AM -0700, tim Rowledge wrote:
> >>
> >> I finally got a moment to look at this - not that I really have much clue
> >> about the whole unix process thing - and it appears that something is odd
> >> with the compiled code in the plugin.
> >>
> >> My test is very simple - run the UnixProcess class>listDirectory example.
> >> It exits with a segfault and the forkAndExec??? method as the last thing
> >> on the stack.
> >>
> >> I build a debug vm (and had some fun with asserts and the ARM fp offset in
> >> the process, all fixed now) and??? it doesn???t fail. I???ve tried compiling
> >> the plugin with varying levels of optimisation, since we???ve fairly regularly
> >> seen problems there, and even at -O0 it fails. So debug -> OK, no-debug -> boom.
> >> Nice.
> >>
> >> Ideas?
> >>
> >
> > I just unpacked my new Raspberry Pi (thanks Ben and Tim for the shopping and
> > setup advice). Very cool. My only usability complaint is that the TV monitor
> > is in the next room, so I am getting a stiff neck trying to look at the monitor
> > while I type on my chiclet keyboard here in the kitchen. But it works, and it
> > is a real computer.
> >
> > I started by compiling an interpreter VM to run against "trunk level" V3 image
> > with OSProcess/CommandShell loaded. What I found so far:
> >
> > - The 32-bit VM running 64-bit image does not work, cannot load X11 driver.
> > This used to work 6 or 8 years ago on 64 bit x86, so probably some regression
> > because I have not been testing on 32-bit host, and Raspbian is 32-bit.
> >
> > - After loading OSProcess/CommandShell, I was getting errors, something like
> > fork not being able to allocate memory. Sorry, I did not capture the error,
> > and it's gone now.
> >
> > - I then ran the OSP/CommandShell test suite. This crashed my login session
> > and took me to a login prompt. WTF?!? This is supposed to be impossible on
> > a Unix system. I'm still provisionally impressed with Raspbian, but ...
> >
> > - I logged back in and ran the OSP/CommandShell tests again. Everything looks
> > good now, except that tests related to file locking protocol are failing.
> > These are rarely used functions and may be linux distro dependent, so I'm
> > not worried about these failures.
> >
> > - RemoteTask seems to be working also. Nice.
> >
> > - Overall, most of the OSProcess functionality seems to be just working, so
> > that is a pleasant surprise.
> >
> > - I have gotten a few image lockups. I don't think it is related to OSProcess,
> > more likely that I am trying to use a "trunk level" V3 image, maybe a bit
> > buggy at this point.
> >
> > I will try setting up a Cog/Spur build next, and see what that looks like.
> > But probably not tonight :-)
> >
> > Dave
> >
-------------- next part --------------
/home/pi/squeak/Squeak5.0/Squeak-5.0-All-in-One/Squeak-5.0-All-in-One.app/Contents/LinuxAndWindows/Linux-ARM/bin/squeak

Illegal instruction Sat Jun 18 01:01:26 2016


/home/pi/squeak/Squeak5.0/Squeak-5.0-All-in-One/Squeak-5.0-All-in-One.app/Contents/LinuxAndWindows/Linux-ARM/lib/squeak/5.0-3397/squeak
Squeak VM version: 5.0-3397  Mon Jul  6 15:05:07 PDT 2015 gcc 4.6.3 [Production Spur VM]
Built from: CoInterpreter VMMaker.oscog-eem.1405 uuid: 7aff388a-73ba-4202-bb5a-72b0759ff46b Jul  6 2015
With: StackToRegisterMappingCogit VMMaker.oscog-eem.1401 uuid: 036f0933-639a-49dd-8a1d-a03bcdcb0a0a Jul  3 2015
Revision: VM: r3397 http://www.squeakvm.org/svn/squeak/branches/Cog Date: 2015-07-06 11:56:39 -0700
Plugins: r3347 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
Build host: Linux pi2 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux
plugin path: /home/pi/squeak/Squeak5.0/Squeak-5.0-All-in-One/Squeak-5.0-All-in-One.app/Contents/LinuxAndWindows/Linux-ARM/bin/../lib/squeak/5.0-3397 [default: /home/pi/squeak/Squeak5.0/Squeak-5.0-All-in-One/Squeak-5.0-All-in-One.app/Contents/LinuxAndWindows/Linux-ARM/lib/squeak/5.0-3397/]


C stack backtrace & registers:
	 r0 0x000006cd r1 0x00000000 r2 0x0153cd64 r3 0x01501230
	 r4 0x01e501d8 r5 0x0200a9e8 r6 0x00000000 r7 0x0200ad98
	 r8 0x000006be r9 0x001f6598 r10 0x001e7d66 fp 0x7e831318
	 ip 0x000006bf sp 0x7e831308 lr 0x015523e8 pc 0x01552a0c
*[0x0]
[0x0]


Smalltalk stack dump:
0x7e831318 M FlapTab(Morph)>wantsSteps 0x2063018: a(n) FlapTab
0x7e831330 M FlapTab(Morph)>intoWorld: 0x2063018: a(n) FlapTab
0x7e831360 M PasteUpMorph(Morph)>privateAddMorph:atIndex: 0x18292e8: a(n) PasteUpMorph
0x7e831388 I PasteUpMorph(Morph)>addMorph:inFrontOf: 0x18292e8: a(n) PasteUpMorph
0x7e8313b4 M [] in PasteUpMorph(Morph)>addMorphInFrontOfLayer: 0x18292e8: a(n) PasteUpMorph
0x7e8313d8 M Array(SequenceableCollection)>do: 0x182af10: a(n) Array
0x7e8313f8 M PasteUpMorph(Morph)>addMorphInFrontOfLayer: 0x18292e8: a(n) PasteUpMorph
0x7e831414 M PasteUpMorph>addMorphFront: 0x18292e8: a(n) PasteUpMorph
0x7e831440 I [] in PasteUpMorph>addGlobalFlaps 0x2138780: a(n) PasteUpMorph
0x7e831460 M OrderedCollection>do: 0x182a8d8: a(n) OrderedCollection
0x7e83148c I PasteUpMorph>addGlobalFlaps 0x2138780: a(n) PasteUpMorph
0x7e8314ac I PasteUpMorph>installFlaps 0x2138780: a(n) PasteUpMorph
0x7e8314cc I PasteUpMorph>install 0x2138780: a(n) PasteUpMorph
0x7e8314f4 I AutoStart class>checkForUpdates 0x200d658: a(n) AutoStart class
0x7e831514 M AutoStart class>startUp: 0x200d658: a(n) AutoStart class
0x7e831540 M [] in SmalltalkImage>send:toClassesNamedIn:with: 0x203cc50: a(n) SmalltalkImage
0x7e831568 I OrderedCollection>do: 0x22b19a0: a(n) OrderedCollection
0x7e831590 I SmalltalkImage>send:toClassesNamedIn:with: 0x203cc50: a(n) SmalltalkImage
0x7e8315bc I SmalltalkImage>processStartUpList: 0x203cc50: a(n) SmalltalkImage
0x7e8315e8 I SmalltalkImage>snapshot:andQuit:withExitCode:embedded: 0x203cc50: a(n) SmalltalkImage
 0x29b4d78 s SmalltalkImage>snapshot:andQuit:embedded:
 0x2075320 s SmalltalkImage>snapshot:andQuit:
 0x29a5f30 s TheWorldMenu>quitSession
 0x29a7fe8 s PasteUpMorph>windowEvent:
 0x29aa170 s PasteUpMorph(Morph)>handleWindowEvent:
 0x29aa790 s WindowEvent>sentTo:
 0x29aa7f0 s PasteUpMorph(Morph)>handleEvent:
 0x29aa850 s MorphicEventDispatcher>dispatchWindowEvent:with:
 0x29aa8b0 s MorphicEventDispatcher>dispatchEvent:with:
 0x29aa910 s PasteUpMorph(Morph)>processEvent:using:
 0x29aa970 s PasteUpMorph>processEvent:using:
 0x29aa9d0 s PasteUpMorph(Morph)>processEvent:
 0x29aaa30 s HandMorph>sendEvent:focus:clear:
 0x29aaa90 s HandMorph>sendEvent:focus:
 0x29aaaf0 s HandMorph>handleEvent:
 0x29aab50 s HandMorph>processEvents
 0x29aabb0 s [] in WorldState>doOneCycleNowFor:
 0x29aac10 s Array(SequenceableCollection)>do:
 0x29aae10 s WorldState>handsDo:
 0x29aae70 s WorldState>doOneCycleNowFor:
 0x29aaed0 s WorldState>doOneCycleFor:
 0x29aaf30 s PasteUpMorph>doOneCycle
 0x23bcf58 s [] in MorphicProject>(nil)
 0x1fd1f98 s [] in BlockClosure>(nil)

Most recent primitives
-
basicNew
\\
basicNew
\\
\\
\\
\\
\\
=
basicNew
\\
\\
basicNew
@
perform:with:
@
@
perform:with:
@
\\
\\
\\
value
\\
\\
\\
//
digitCompare:
//
//
//
//
//
//
//
//
scaledIdentityHash
scaledIdentityHash
scaledIdentityHash
\\
\\
\\
scaledIdentityHash
scaledIdentityHash
scaledIdentityHash
\\
\\
basicNew
basicNew
basicNew
new:
\\
privateRGB
\\
\\
\\
\\
basicNew
@
@
@
@
replaceFrom:to:with:startingAt:
species
new:
replaceFrom:to:with:startingAt:
\\
\\
\\
basicNew
@
\\
\\
@
@
//
@
@
@
@
@
@
@
@
@
//
@
@
@
@
@
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
@
@
//
//
>
@
@
@
@
shallowCopy
shallowCopy
value:
\\
stringHash:initialHash:
\\
\\
value
privateAddMorph:atIndex:
privateAddMorph:atIndex:
**StackOverflow**
\\
\\
\\
\\
@
perform:with:
@
@
perform:with:
@
@
@
value:
copyWithout:
replaceFrom:to:with:startingAt:
\\
replaceFrom:to:with:startingAt:
\\
\\
\\
\\
\\
\\
\\
value:
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
@
perform:with:
@
@
perform:with:
@
@
@
\\
\\
\\
value:
value:
size
replaceFrom:to:with:startingAt:
compare:with:collated:
instVarAt:
value:
instVarAt:
instVarAt:
instVarAt:
compare:with:collated:
instVarAt:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
compare:with:collated:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
instVarAt:
replaceFrom:to:with:startingAt:
compare:with:collated:
compare:with:collated:
instVarAt:
value:
\\
stringHash:initialHash:
\\
scanFor:
\\
\\
**StackOverflow**
\\
\\
\\
\\
@
perform:with:
@
@
perform:with:
@
@
@
replaceFrom:to:with:startingAt:
\\
replaceFrom:to:with:startingAt:
-
\\
\\
\\
\\

stack page bytes 4096 available headroom 2788 minimum unused headroom 24

	(Illegal instruction)
Aborted


More information about the Vm-dev mailing list