[squeak-dev] Building Squeak 5.3 on FreeBSD

Edwin Ancaer eancaer at gmail.com
Thu Jan 13 09:45:37 UTC 2022


Marcel,

thanks. I removed the test. on my side

A first question, does it make sense to try to run all the tests after
compiling a new version of the VM?
It is of no use spamming the list if some known tests have issues. If such
tests exist, is there a list available.

If it should be of interest, after removing #testOutOfMemory,  I have a
core dump, seemingly during the execution of  #testUnwindDebugger.
.I attached the output of the run of the Squeak VM in the attached file
abend.txt,


Some more info about the OS:
[edwin at ottopedi ~/Smalltalk53/opensmalltalk-vm]$ uname -a
FreeBSD ottopedi 12.3-RELEASE FreeBSD 12.3-RELEASE r371126 GENERIC  amd64

And for squeak itself:
Image
-----
/usr/home/edwin/Smalltalk53/opensmalltalk-vm/image/Squeak5.3-19431-64bit.image
Squeak5.3
latest update: #19431
Current Change Set: HomeProject
Image format 68021 (64 bit)

Virtual Machine
---------------
/usr/home/edwin/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build/squeak
Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.3133]
Unix built on Jan 10 2022 21:08:09 Compiler: FreeBSD Clang 10.0.1
(git at github.com:llvm/llvm-project.git llvmorg-10.0.1-0-gef32c611aa2)
platform sources revision VM: 202201051952
edwin at ottopedi:/usr/home/edwin/Smalltalk53/opensmalltalk-vm
Date: Wed Jan 5 11:52:55 2022 CommitHash: 8141dd272 Plugins: 202201051952
edwin at ottopedi:/usr/home/edwin/Smalltalk53/opensmalltalk-vm
CoInterpreter VMMaker.oscog-eem.3133 uuid:
4a7f4038-9285-42ba-b1fd-b5621a072836 Jan 10 2022
StackToRegisterMappingCogit VMMaker.oscog-eem.3127 uuid:
4d6dd04c-143e-41c0-90bb-ed55b27ff3f1 Jan 10 2022

Kind regards

Edwin Ancaer

*;


Op wo 12 jan. 2022 om 14:45 schreef Marcel Taeumel <marcel.taeumel at hpi.de>:

> Hi Edwin --
>
> > It looks this happened during the execution of testOutOfMemorySignal.
>
> We should really disable this test in its current form ... it has issues
> on all platforms.
>
> Best,
> Marcel
>
> Am 10.01.2022 06:31:05 schrieb Edwin Ancaer <eancaer at gmail.com>:
> Hello,
>
> Some time ago, begin 2020, I managed to build a Squeak 5.0 VM on FreeBSD,
> based on the sources in the opensmalltalk-vm github repository.
> I remember having some difficulties, on the way, but everything got
> solved, and I still have that version working.
>
> Right now, I built linux64x64  Squeak 5.3 cog spur VM on FreeBSD. There
> were no compilation errors, no linker errors, So I started squeak, started
> running the tests in TestRunner, and got the following
>
> [edwin at ottopedi
> ~/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build]$
> ./squeak ../../../../image/Squeak5.3-19431-64bit.image
> Killed
> [edwin at ottopedi
> ~/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build]$
>
> It looks this happened during the execution of testOutOfMemorySignal.
>
> Are other people here using Squeak 5.3 on FreeBSD?
> Should I still build the linux64x64 version for FreeBSD, and, if so, any
> idea how to find out what is going wrong?
>
> Kind regards,
>
> Edwin Ancaer
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220113/aa86cb57/attachment.html>
-------------- next part --------------
run the smalltalk-vm
stack page bytes 8192 available headroom 5576 minimum unused headroom 5920

Segmentation fault Thu Jan 13 09:36:44 2022


/usr/home/edwin/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build/squeak
Squeak VM version: 5.0-202201051952  Mon Jan 10 21:08:48 CET 2022 clang [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.3133 uuid: 4a7f4038-9285-42ba-b1fd-b5621a072836 Jan 10 2022
With: StackToRegisterMappingCogit VMMaker.oscog-eem.3127 uuid: 4d6dd04c-143e-41c0-90bb-ed55b27ff3f1 Jan 10 2022
Revision: VM: 202201051952 edwin at ottopedi:/usr/home/edwin/Smalltalk53/opensmalltalk-vm
Date: Wed Jan 5 11:52:55 2022 CommitHash: 8141dd272
Plugins: 202201051952 edwin at ottopedi:/usr/home/edwin/Smalltalk53/opensmalltalk-vm
Build host: FreeBSD ottopedi 12.3-RELEASE FreeBSD 12.3-RELEASE r371126 GENERIC  amd64
plugin path: /usr/home/edwin/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build/ [default: /usr/home/edwin/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build/]


C stack backtrace & registers:
don't know how to derive register state from a ucontext_t on this platform
*0x0 <???> at ???
0x25c04a <reportStackState+0xda> at /usr/home/edwin/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build/squeak
0x25e237 <sigsegv+0x137> at /usr/home/edwin/Smalltalk53/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build/squeak
0x800414c6e <_pthread_sigmask+0x53e> at /lib/libthr.so.3
0x0 <???> at ???


Smalltalk stack dump:
0x7ffffffb6fc8 M Context>isDead 0x801608128: a(n) Context
0x7ffffffb7010 I MorphicDebugger(Debugger)>pcRange 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb7060 I MorphicDebugger(Debugger)>contextStackIndex:oldContextWas: 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb70b0 I MorphicDebugger(Debugger)>toggleContextStackIndex: 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb7100 I MorphicDebugger(Debugger)>initializeFull 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb7140 I MorphicDebugger(Debugger)>openFullFromNotifier: 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb7188 I MorphicDebugger>openFullFromNotifier: 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb71d0 I MorphicDebugger(Debugger)>debug 0x80160a7c0: a(n) MorphicDebugger
0x7ffffffb7230 I DebuggerUnwindBug>testUnwindDebugger 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8b30 M DebuggerUnwindBug(TestCase)>performTest 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8b60 M [] in DebuggerUnwindBug(TestCase)>runCase 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8b98 M BlockClosure>on:do: 0x8016089c8: a(n) BlockClosure
0x7ffffffa8be8 M [] in DebuggerUnwindBug(TestCase)>timeout:after: 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8c28 M BlockClosure>ensure: 0x801608ba0: a(n) BlockClosure
0x7ffffffa8c78 M DebuggerUnwindBug(TestCase)>timeout:after: 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8cb8 M [] in DebuggerUnwindBug(TestCase)>runCase 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8cf8 M BlockClosure>ensure: 0x801608e78: a(n) BlockClosure
0x7ffffffa8d30 M DebuggerUnwindBug(TestCase)>runCase 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa8d68 M [] in TestResult>runCase: 0x804c5b240: a(n) TestResult
0x7ffffffa8da0 M Time class>microsecondsToRun: 0x80213f138: a(n) Time
0x7ffffffa8dd8 M Time class>millisecondsToRun: 0x80213f138: a(n) Time
0x7ffffffa8e10 M BlockClosure>timeToRun 0x8016090e0: a(n) BlockClosure
0x7ffffffa8e48 M BlockClosure>timeToRunWithoutGC 0x8016090e0: a(n) BlockClosure
0x7ffffffa8e88 M [] in TestResult>runCase: 0x804c5b240: a(n) TestResult
0x7ffffffa8ec0 M BlockClosure>on:do: 0x8016094b8: a(n) BlockClosure
0x7ffffffa8f10 M [] in BlockClosure>on:do:on:do: 0x8016094b8: a(n) BlockClosure
0x7ffffffa8f48 M BlockClosure>on:do: 0x801609688: a(n) BlockClosure
0x7ffffffa8f88 M BlockClosure>on:do:on:do: 0x8016094b8: a(n) BlockClosure
0x7ffffffa8fe0 M TestResult>runCase: 0x804c5b240: a(n) TestResult
0x7ffffffa9018 M DebuggerUnwindBug(TestCase)>run: 0x804c83fb0: a(n) DebuggerUnwindBug
0x7ffffffa9050 M TestRunner>runTest: 0x804c117f0: a(n) TestRunner
0x7ffffffa9088 M [] in TestRunner>runSuite: 0x804c117f0: a(n) TestRunner
0x7ffffffa90f8 M [] in OrderedCollection(Collection)>do:displayingProgress:every: 0x804c6f230: a(n) OrderedCollection
0x7ffffffa9138 M OrderedCollection>do: 0x804c6f230: a(n) OrderedCollection
0x7ffffffa9198 M [] in OrderedCollection(Collection)>do:displayingProgress:every: 0x804c6f230: a(n) OrderedCollection
0x7ffffffa91e8 M [] in MorphicUIManager>displayProgress:at:from:to:during: 0x803c92750: a(n) MorphicUIManager
0x7ffffffa9220 M BlockClosure>on:do: 0x804c6f480: a(n) BlockClosure
     0x804c6f4b8 s [] in MorphicUIManager>displayProgress:at:from:to:during:
     0x804c79e60 s BlockClosure>ensure:
     0x804cac908 s MorphicUIManager>displayProgress:at:from:to:during:
     0x804caccd8 s ProgressInitiationException>defaultResumeValue
     0x804cbdd20 s ProgressInitiationException(Exception)>resume
     0x804cccac0 s ProgressInitiationException>defaultAction
     0x8048647f8 s UndefinedObject>handleSignal:
     0x804cccb78 s ProgressInitiationException(Exception)>signal
     0x8048648b0 s ProgressInitiationException>display:at:from:to:during:
     0x8048758d8 s ProgressInitiationException class>display:at:from:to:during:
     0x8051be8a8 s ByteString(String)>displayProgressAt:from:to:during:
     0x804cb3670 s ByteString(String)>displayProgressFrom:to:during:
     0x804c79da8 s OrderedCollection(Collection)>do:displayingProgress:every:
     0x804c6fc08 s [] in TestRunner>basicRunSuite:do:
     0x804c79f50 s BlockClosure>ensure:
     0x804cac9e8 s TestRunner>basicRunSuite:do:
     0x804c6fce0 s TestRunner>runSuite:
     0x804c7a058 s TestRunner>runAll
     0x804cacb00 s PluggableButtonMorphPlus(PluggableButtonMorph)>performAction
     0x804cbe148 s PluggableButtonMorphPlus>performAction
     0x804cccc30 s [] in PluggableButtonMorphPlus(PluggableButtonMorph)>mouseUp:
     0x804864968 s Array(SequenceableCollection)>do:
     0x804875990 s PluggableButtonMorphPlus(PluggableButtonMorph)>mouseUp:
     0x8051be960 s PluggableButtonMorphPlus(Morph)>handleMouseUp:
     0x804cb3728 s MouseButtonEvent>sentTo:
     0x804cb88b8 s PluggableButtonMorphPlus(Morph)>handleEvent:
     0x804cbbe80 s PluggableButtonMorphPlus(Morph)>handleFocusEvent:
     0x804cbc910 s MorphicEventDispatcher>doHandlingForFocusEvent:with:
     0x804cbca58 s MorphicEventDispatcher>dispatchFocusEvent:with:
     0x804cbcb28 s PluggableButtonMorphPlus(Morph)>processFocusEvent:using:
     0x804cbcbe0 s PluggableButtonMorphPlus(Morph)>processFocusEvent:
     0x804cbcc98 s [] in HandMorph>sendFocusEvent:to:clear:
     0x804cbcd50 s BlockClosure>ensure:
     0x804cbce50 s MouseButtonEvent(MorphicEvent)>becomeActiveDuring:
     0x804cbcf30 s [] in HandMorph>sendFocusEvent:to:clear:
     0x804cbcfe8 s BlockClosure>ensure:
     0x804cbd0d8 s HandMorph>becomeActiveDuring:
     0x804cbd1b8 s [] in HandMorph>sendFocusEvent:to:clear:
     0x804cbd270 s BlockClosure>ensure:
     0x804cbd360 s PasteUpMorph>becomeActiveDuring:
     0x804cbd440 s HandMorph>sendFocusEvent:to:clear:
     0x804cbd4f8 s HandMorph>sendEvent:focus:clear:
     0x804cbd5d0 s HandMorph>sendMouseEvent:
     0x804cbd698 s HandMorph>handleEvent:
     0x804cbd750 s HandMorph>processEvents
     0x804cbd808 s [] in WorldState>doOneCycleNowFor:
     0x804cbd8c0 s Array(SequenceableCollection)>do:
     0x804cbd9b0 s WorldState>handsDo:
     0x804cbda68 s WorldState>doOneCycleNowFor:
     0x804cbdb20 s WorldState>doOneCycleFor:
     0x804cbdbd8 s PasteUpMorph>doOneCycle
     0x8045ef9c8 s [] in MorphicProject>spawnNewProcess
     0x8045efa80 s [] in BlockClosure>newProcess

Most recent primitives
BitBlt>>#primDisplayString:from:to:map:xTable:kern:
BitBlt>>#primDisplayString:from:to:map:xTable:kern:
**StackOverflow**
Object>>#at:
Object>>#at:
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
BlockClosure>>#value:
Object>>#species
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
SmalltalkImage>>#specialObjectsArray
BitBlt>>#copyBits
**StackOverflow**
BitBlt>>#primDisplayString:from:to:map:xTable:kern:
BitBlt>>#primDisplayString:from:to:map:xTable:kern:
Object>>#perform:with:
Object>>#perform:with:
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
Behavior>>#basicNew
SmallFloat64>>#>
SmallInteger>>#bitAnd:
SmallInteger>>#bitAnd:
SmallInteger>>#bitAnd:
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
BitBlt>>#copyBits
**StackOverflow**
**StackOverflow**
**StackOverflow**
**StackOverflow**
**StackOverflow**
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
BitBlt>>#copyBits
**StackOverflow**
BitBlt>>#primDisplayString:from:to:map:xTable:kern:
BitBlt>>#primDisplayString:from:to:map:xTable:kern:
**StackOverflow**
DisplayScreen>>#primShowRectLeft:right:top:bottom:
DisplayScreen>>#primitiveDeferUpdates:
DisplayScreen>>#forceDisplayUpdate
Process>>#suspend
Context>>#tempAt:
Context>>#tempAt:put:
Context>>#tempAt:
Context>>#terminateTo:
Context>>#findNextUnwindContextUpTo:
Context>>#terminateTo:
ArrayedCollection>>#size
SmallInteger>>#\\
Object>>#at:
Object>>#at:
SmallInteger>>#\\
SmallInteger>>#=
Object>>#at:
BlockClosure>>#value
SmallInteger>>#-
Object>>#shallowCopy
Object>>#perform:
Behavior>>#basicNew
Number>>#@
Array>>#new:
Object>>#species
Array>>#new:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Number>>#@
**StackOverflow**
**StackOverflow**
**StackOverflow**
Object>>#perform:with:
Object>>#species
Array>>#new:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
**StackOverflow**
**StackOverflow**
SmallInteger>>#//
Behavior>>#basicNew
**StackOverflow**
Number>>#@
Number>>#@
**StackOverflow**
**StackOverflow**
BlockClosure>>#value
SmallInteger>>#=
Object>>#at:
Number>>#@
SmallInteger>>#*
**PrimitiveFailure** SmallInteger
Number>>#@
Object>>#perform:with:
BlockClosure>>#value:
Behavior>>#basicNew
Number>>#@
Number>>#@
Number>>#@
Number>>#@
Number>>#@
BlockClosure>>#value
SmallInteger>>#=
Number>>#@
Number>>#@
Object>>#shallowCopy
Object>>#species
Array>>#new:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Object>>#at:
Object>>#at:put:
Number>>#@
Number>>#@
Number>>#@
Object>>#at:
BlockClosure>>#value
SmallInteger>>#bitShift:
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallInteger>>#~=
**PrimitiveFailure** SmallInteger
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
Behavior>>#basicNew
SmallInteger>>#bitAnd:
Float>>#basicAt:
Float>>#basicAt:
Float>>#basicAt:
Object>>#perform:with:
Number>>#@
Number>>#@
Number>>#@
Number>>#@
Object>>#perform:with:
SmallFloat64>>#*
SmallFloat64>>#truncated
Number>>#@
Number>>#@
Number>>#@
Number>>#@
Object>>#perform:with:
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
Number>>#@
Number>>#@
Number>>#@
Number>>#@
SmallFloat64>>#truncated
Number>>#@
Number>>#@
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
**StackOverflow**
Number>>#@
Number>>#@
Number>>#@
Number>>#@
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
SmallFloat64>>#fractionPart
SmallFloat64>>#truncated
Behavior>>#basicNew
Behavior>>#basicNew
BlockClosure>>#value
Mutex>>#primitiveEnterCriticalSection
Mutex>>#primitiveExitCriticalSection
Object>>#at:
Behavior>>#basicNew
Object>>#perform:
Behavior>>#basicNew
Behavior>>#basicNew
Behavior>>#basicNew
Behavior>>#basicNew
SmallInteger>>#>=
SmallInteger>>#>=
ByteSymbol>>#at:
Object>>#perform:
Object>>#perform:
ByteString>>#compare:with:collated:
Behavior>>#basicNew
Object>>#species
Array>>#new:
Object>>#at:
SmallInteger>>#~=
Object>>#at:put:
Object>>#shallowCopy
Object>>#shallowCopy
ArrayedCollection>>#size
SmallInteger>>#+
ArrayedCollection>>#size
SmallInteger>>#+
SmallInteger>>#-
Object>>#species
Array>>#new:
Array>>#replaceFrom:to:with:startingAt:
Array>>#replaceFrom:to:with:startingAt:

stack page bytes 8192 available headroom 5576 minimum unused headroom 5920

	(Segmentation fault)


More information about the Squeak-dev mailing list