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@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@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