I have finally figured out the reason for the DEC-Alpha reslicing crash,
so I thought I'd post it to the list in case anyone encounters the same
problem.
It was a memory crash after all, but MATLAB won't tell you that on the
command shell. The crash dump pointed towards a segmentation violation,
i.e. use of memory not assigned to the process.
The culprit:
(Take the Korn-shell)
# ksh
# ulimit -Sa
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 131072
stack(kbytes) 8192
memory(kbytes) 1009240
coredump(blocks) 0
nofiles(descriptors) 4096
vmemory(kbytes) 4194304
Prints out the soft limitations of various process
attributes. The 128 MB Data limitation caused the problem.
To find out the hard (physical) limitations you can do a:
# ulimit -Ha
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 1048576
stack(kbytes) 32768
memory(kbytes) 1009240
coredump(blocks) unlimited
nofiles(descriptors) 4096
vmemory(kbytes) 4194304
So there's plenty of memory available (1024 MB). Even with 1 GB physical
RAM and 4 GB virtual memory the processes are thus (by default) limited to
128 MB.
Double the process limitation to say 256 MB using:
# ulimit -Sd 262144
And now spm_reslice.m works fine. This may be trivial to system
administrators, but it certainly got a few experienced Unix people puzzled
here.
Best wishes,
John-Dylan Haynes
>
> Hi,
>
> I am trying to install spm99 on a DEC Alpha (4 processors, 1 GB RAM)
> running a Tru64 operating system with MATLAB 6. Compiling was ok.
> However when reslicing there is the
>
> ??? Error while evaluating uicontrol Callback.
>
> error message, which I have tracked down to occur precisely
> at the lines
>
> Y1 = zeros(prod(P(1).dim(1:2)),prod(size(P)));
> Y2 = zeros(prod(P(1).dim(1:2)),prod(size(P)));
> Y3 = zeros(prod(P(1).dim(1:2)),prod(size(P)));
>
> of spm_reslice.m
>
> Interestingly this error only occurs when reslicing all 6
> runs (a 245 VOLS a 20 slices a 64x64) of my data, but
> not if I only reslice 3 runs suggesting some memory problem.
> However I have run the same on a wintel with much less memory
> and the maxMem on the DEC is set to 2^24.
>
>
|