See below for the crash dump.

Guillermo Polito wrote
> Horrido,
> 
> Can you also provide the stack associated with the segmentation fault?
> Usually the VM captures the signal and dumps the current stack at the
> moment of the crash in stdout. You'll find the same stack in the file
> crash.dmp.
> 
> On Thu, Jun 1, 2017 at 6:51 AM, Ben Coman <

> btc@

> > wrote:
> 
>>
>>
>> On Wed, May 31, 2017 at 10:23 PM, horrido <

> horrido.hobbies@

> >
>> wrote:
>>
>>> I have a puzzling bug. I've narrowed the scenario down to this code:
>>>
>>> Cranky»initA
>>>    a := ((StringMorph contents: '####') color: Color white) position:
>>> (0@0
>>> ).
>>>    m addMorph: a
>>>
>>> Cranky»initialize
>>>    f := Form fromFileNamed: 'hot_air_balloon_mysticmorning.jpg'.
>>>    m := ImageMorph new.
>>>    m form: f.
>>>    self initA.
>>>    m openInWindowLabeled: 'Cranky'.
>>>    delay := (Delay forSeconds: 5).
>>>    [ [ true ] whileTrue: [ a contents: 0 asString. delay wait ] fork
>>>
>>> I can run this application for hours and hours with no problem. However,
>>> if
>>> I run it for a while and then close the application and then save/exit
>>> the
>>> image, the next time I start the image, there is some likelihood it will
>>> crash dump. The probability is something like 5-10%.
>>>
>>> Interestingly, if I remove the statement...
>>>
>>> a contents: 0 asString.
>>>
>>> from the infinite loop, I've not been able to replicate the crash. Is
>>> there
>>> something wrong with the way I'm updating the contents of the
>>> StringMorph?
>>>


Segmentation fault Thu Jun  1 09:04:56 2017


/home/pi/pharo50-dev/lib/pharo/5.0-201705051953/pharo
Pharo VM version: 5.0-201705051953  Fri May  5 21:02:28 UTC 2017 gcc 4.9.2
[Production Spur VM]
Built from: CoInterpreter VMMaker.oscog-eem.2207 uuid:
8da5de9b-33d7-478b-9081-58591f7da69a May  5 2017
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2208 uuid:
4877be7d-941d-4e15-b6df-4f1b8c7072a8 May  5 2017
Revision: VM: 201705051953
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri May 5
12:53:38 2017 -0700 $
Plugins: 201705051953 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
$
Build host: Linux testing-gce-4db3c1dc-5576-4a70-9128-5f5e3d62217a
4.4.0-62-generic #83~14.04.1-Ubuntu SMP Wed Jan 18 18:10:30 UTC 2017 armv7l
GNU/Linux
plugin path: ./lib/pharo/5.0-201705051953 [default:
/home/pi/pharo50-dev/lib/pharo/5.0-201705051953/]


C stack backtrace & registers:
         r0 0x75d94008 r1 0x74d7ca00 r2 0x00000000 r3 0x75f45000
         r4 0x004089d8 r5 0x76fe6f10 r6 0x7e8586ec r7 0x00000003
         r8 0x00000000 r9 0x75f44298 r10 0x7e8586ec fp 0x74746366
         ip 0x00000000 sp 0x7e858678 lr 0x00047c44 pc 0x75ebe478
*[0x0]
[0x7e8572a0]


Smalltalk stack dump:
0x7e85c864 I FreeTypeFace(FT2Face)>newFaceFromExternalMemory:index:
0x3457050: a(n) FreeTypeFace
0x7e85c88c I FreeTypeFace>create 0x3457050: a(n) FreeTypeFace
0x7e85c8ac I FreeTypeFace>validate 0x3457050: a(n) FreeTypeFace
0x7e85c8cc I FreeTypeFont>face 0x765b18: a(n) FreeTypeFont
0x7e85c908 I FreeTypeFontProvider>fontFor:familyName: 0x11d4450: a(n)
FreeTypeFontProvider
0x7e85c934 M [] in
LogicalFontManager>bestFontFor:whenFindingAlternativeIgnoreAll: 0x12db5b0:
a(n) LogicalFontManager
0x7e85c958 M OrderedCollection>do: 0x12db5c0: a(n) OrderedCollection
0x7e85c97c M [] in
LogicalFontManager>bestFontFor:whenFindingAlternativeIgnoreAll: 0x12db5b0:
a(n) LogicalFontManager
0x7e85c9a0 M Array(SequenceableCollection)>do: 0x7649d8: a(n) Array
0x7e85c9c8 I LogicalFontManager>bestFontFor:whenFindingAlternativeIgnoreAll:
0x12db5b0: a(n) LogicalFontManager
0x7e85c9f0 I LogicalFontManager>bestFontFor: 0x12db5b0: a(n)
LogicalFontManager
0x7e85ca14 I LogicalFont>findRealFont 0x12db578: a(n) LogicalFont
0x7e85ca34 I LogicalFont>realFont 0x12db578: a(n) LogicalFont
0x7e85ca54 I LogicalFont>widthOfString: 0x12db578: a(n) LogicalFont
0x7e85ca7c I StringMorph>measureContents 0x325a480: a(n) StringMorph
0x7e85caa4 I StringMorph>fitContents 0x325a480: a(n) StringMorph
0x7e85cac4 I StringMorph>contents: 0x325a480: a(n) StringMorph
0x7e85cae8 I [] in Cranky>initialize 0x325a390: a(n) Cranky
 0x325a408 s [] in BlockClosure>newProcess

Most recent primitives
class
class
class
class
+
**PrimitiveFailure**
digitAdd:
normalize
class
primUTCMicrosecondsClock
at:
+
at:
at:
at:
+
signal
primSignalAtBytesLeft:
suspend
class
scanFor:
scanFor:
scanFor:
basicAt:
isNil
isNil
findNextUnwindContextUpTo:
findContextSuchThat:
valueNoContextSwitch
valueNoContextSwitch
**StackOverflow**
at:
objectAt:
class
header
basicNew:
stackp:
at:
at:put:
valueNoContextSwitch
value
stackp:
at:put:
at:
stackp:
valueNoContextSwitch
ensure:
ensure:
ensure:
ensure:
stackp:
at:put:
at:
stackp:
findNextUnwindContextUpTo:
terminateTo:
value
stackp:
at:put:
at:
stackp:
at:
value
at:
stackp:
findNextUnwindContextUpTo:
at:put:
at:put:
stackp:
at:put:
stepToCallee
stepToCallee
stepToCallee
stepToCallee
at:
stackp:
at:
stackp:
at:put:
at:
stackp:
return:from:
return:from:
at:put:
at:put:
stackp:
at:put:
at:
class
bitAnd:
bitAnd:
bitAnd:
numCopiedValues
stackp:
numCopiedValues
priority:
primitiveResume
garbageCollectMost
**IncrementalGC**
at:put:
basicNew
primLowSpaceSemaphore:
primSignalAtBytesLeft:
wait
compare:with:collated:
class
stringHash:initialHash:
at:
basicNew
new:
value:
value
basicNew
value
primCurrentLibrary
hash
compare:with:collated:
value:
at:
at:
value:value:
**StackOverflow**
**StackOverflow**
closenessVectorForStretch:slant:weight:
*
*
*
*
*
**StackOverflow**
class
second
**StackOverflow**
raisedTo:
raisedTo:
raisedTo:
raisedTo:
raisedTo:
raisedTo:
at:
third
asFloat
sqrt
truncated
sqrt
sqrt
=
=
=
=
=
bitShift:
**PrimitiveFailure**
bitShiftMagnitude:
timesTwoPower:
>=
at:
value:value:
value:value:
**StackOverflow**





truncated





truncated
value:value:
**StackOverflow**
truncated
truncated

**PrimitiveFailure**
bitShiftMagnitude:
timesTwoPower:


**PrimitiveFailure**
basicAt:
basicAt:
bitShift:
**PrimitiveFailure**
bitShiftMagnitude:
basicAt:
+
bitOr:
digitCompare:
digitAt:
digitAt:
at:
bitShiftMagnitude:
bitShift:
**PrimitiveFailure**
bitShiftMagnitude:
basicNew
=
=
<
perform:with:
<
**PrimitiveFailure**
perform:with:
denominator
**PrimitiveFailure**
digitMultiply:neg:
numerator
numerator
at:
value:value:
**StackOverflow**
truncated
truncated
at:
value:value:
truncated
truncated
value:value:
value:value:
value:value:
value:value:
value:value:
value:value:
value:value:
value:value:
value:value:
value:value:
at:
at:
at:put:
at:put:
at:
value:value:
truncated
truncated
sort:to:
sort:to:
sort:to:
sort:to:
truncated
truncated
truncated
truncated
bitShiftMagnitude:
timesTwoPower:
basicNew
allInstancesOrNil
value:
index
value:
size
primNewFaceFromExternalMemory:size:index:

stack page bytes 4096 available headroom 2788 minimum unused headroom 3036

        (Segmentation fault)




--
View this message in context: 
http://forum.world.st/Morphic-or-forking-bug-tp4948727p4948806.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.

Reply via email to