[Vm-dev] We need help from VM experts. Re: Freeze after Morph Activity
Dan Norton
dnorton at mindspring.com
Sun Feb 5 21:51:06 UTC 2017
When the hang-up occurs, a #morphicStep is involved. I've never seen it
otherwise.
Attached is what may be the minimal test case: an empty step loop. File
in the attachment and in a workspace do:
Minish start
- Dan
On 02/05/2017 03:42 PM, David T. Lewis wrote:
>
> On Sun, Feb 05, 2017 at 04:09:39PM -0300, Juan Vuletich wrote:
>>
>> Hi Folks,
>>
>> It seems we found a problem in Spur-64 on Linux. Eliot & VM developers
>> and experts, please, we need your help.
>>
>> Cuis users have been experiencing this problem since we started using
>> Spur-64. At random times, the image just stops working. No Smalltalk
>> process is run, and the VM needs to be killed from the OS.
>>
>> In my experience, most of the time it takes several hours for the
>> problem to happen. Dan found a simple way to make it happen rather
>> quickly. No FFI is involved, just pretty basic Smalltalk. I can confirm
>> that the problem does not happen using Spur-32 on the same platform.
>>
>
> I can confirm this on my Ubuntu laptop running Cuis5.0-3040-spur-64.image.
>
> I filed in the Tokenish.st demo, and started several Tokenish morphs that
> bounced along cheerfully until the image hung up.
>
> The VM is still running and using CPU. Top shows about 5% CPU, which several
> times greater than for an idle image, but certainly not abnormally high.
>
> The actual VM process shows a "waiting" state in /proc/<pid>/status, which
> is exactly like what I would expect for a normal running VM. Here is a sample
> of what I see for the hung image/VM:
>
> lewis at lewis-Gazelle-Pro:/proc/32609$ cat /proc/32609/status
> Name: squeak
> State: S (sleeping)
> Tgid: 32609
> Ngid: 0
> Pid: 32609
> PPid: 2779
> TracerPid: 0
> Uid: 1000 1000 1000 1000
> Gid: 1000 1000 1000 1000
> FDSize: 256
> Groups: 4 24 27 30 46 115 131 1000
> VmPeak: 147456 kB
> VmSize: 131156 kB
> VmLck: 0 kB
> VmPin: 0 kB
> VmHWM: 40468 kB
> VmRSS: 40464 kB
> VmData: 57496 kB
> VmStk: 1740 kB
> VmExe: 1304 kB
> VmLib: 5916 kB
> VmPTE: 240 kB
> VmSwap: 0 kB
> Threads: 2
> SigQ: 0/31381
> SigPnd: 0000000000000000
> ShdPnd: 0000000000000000
> SigBlk: 0000000000000000
> SigIgn: 0000000000001000
> SigCgt: 0000000190000648
> CapInh: 0000000000000000
> CapPrm: 0000000000000000
> CapEff: 0000000000000000
> CapBnd: 0000003fffffffff
> Seccomp: 0
> Cpus_allowed: ff
> Cpus_allowed_list: 0-7
> Mems_allowed: 00000000,00000001
> Mems_allowed_list: 0
> voluntary_ctxt_switches: 14946247
> nonvoluntary_ctxt_switches: 2443
> lewis at lewis-Gazelle-Pro:/proc/32609$
>
> The VM that I am using is:
>
> Virtual Machine
> ---------------
> /usr/local/lib/squeak/5.0-201608171728-64/squeak
> Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-cb.1919]
> Unix built on Sep 25 2016 15:59:10 Compiler: 4.6.3
> platform sources revision VM: 201608171728 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Wed Aug 17 10:28:01 2016 -0700 $ Plugins: 201608171728 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> CoInterpreter VMMaker.oscog-cb.1919 uuid: 00a8dd2a-bc8d-4552-b400-be781c8aabec Sep 25 2016
> StackToRegisterMappingCogit VMMaker.oscog-cb.1919 uuid: 00a8dd2a-bc8d-4552-b400-be781c8aabec Sep 25 2016
>
>
> I cannot see what is wrong, but maybe this will prompt some ideas.
>
> Dave
>
-------------- next part --------------
'From Cuis 5.0 of 7 November 2016 [latest update: #3043] on 5 February 2017 at 4:39:43 pm'!
!classDefinition: #Minish category: #Freeze!
EllipseMorph subclass: #Minish
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Freeze'!
!Minish commentStamp: '<historical>' prior: 0!
Example which experiences a freeze.!
!Minish methodsFor: 'stepping' stamp: 'dhn 2/5/2017 16:38:33'!
mini
self when: #morphicStep evaluate: [ :a |].
self startSteppingStepTime: 8.
! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
!classDefinition: 'Minish class' category: #Freeze!
Minish class
instanceVariableNames: ''!
!Minish class methodsFor: 'instance creation' stamp: 'dhn 2/5/2017 16:37:16'!
start
^ self new openInHand mini! !
More information about the Vm-dev
mailing list