[daip] problems with XAS in my MAC
Eric Greisen
egreisen at nrao.edu
Mon Jun 3 19:30:26 EDT 2013
Salvador Curiel wrote:
> Hi Eric,
>
> I have the last version of AIPS (31DIC13) on my Mac Pro with Mac OS X
> version 10.7.5. However, when I start AIPS the TV window does not come
> up and I get the following error message:
>
> XAS: ** TrueColor FOUND!!!
> XAS: *** Using shared memory option for speed ***
> XAS: Using screen width 1910 height 958,
> max grey level 8191 in 16 grey-scale memories
> Shared memory id failure: Cannot allocate memory
> Warning: locale not supported by Xlib, locale set to C
> Warning: locale not supported by Xlib, locale set to C
>
> I have checked all the information in the AIPS Managers FQ but
> everything seems to be OK. Do you have any suggestions? Thanks in
> advance for your help.
>
> Cheers,
> Salvador Curiel
After you follow the instructions below appropriate to your release of
the Mac operating system, you must re-boot the computer. The control
file for shared memory is read at boot time only. Note that a re-boot is
not simply logging the current user out and then back in. You must do a
full restart.
The default Mac system limits shared memory pages to 4 Mbytes. When XAS
starts it tells you that it is making a screen x pixels by y pixels. The
memory you will need is at least 4 x y bytes, but this rounds upward
rapidly. For the new large screens this is more than 8 Mbytes. On 10.3
and 10.4 systems, you can change this limit by changing (as root or
admin) the rc file in /etc, adjusting the kern.sysv.shm* line to
#Setting the shared memory to something a bit more reasonable.
sysctl -w kern.sysv.shmmax=10485760
sysctl -w kern.sysv.shmmin=1
sysctl -w kern.sysv.shmmni=32
sysctl -w kern.sysv.shmseg=8
sysctl -w kern.sysv.shmall=4096
If you are really lucky and have a 30-inch screen (2550 by 1500 pixels)
then you will have to make the shmmax line even larger
sysctl -w kern.sysv.shmmax=16777216
Note that these are upper limits, so it does not hurt to set a value
that might be larger than necessary for your system. The shmmax must be
an integer multiple of the shmall which must be a power of 2 >= 1024. A
3190 by 958 screen was found to require the larger value above. I think
this comes by n times (4096 / 4 bytes/word) has to be > 3190 leading to
4096 words per row. Then 958 * 4096 * 4 bytes = 15695872 or just a bit
less than the 16777216.
On the latest "leopard", "snow leopard", "lion", and "mountain lion" (X
10.5-10.8) systems, /etc/rc is gone and creating it will have no effect.
You need to create an /etc/sysctl.conf file and put the values in it,
kern.sysv.shmmax=10485760
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.sysv.shmall=4096
You should use the values you had when you were running tiger. Those
could be in /Previous\ System/etc/rc, assuming you have "Previous
System". So three different OS upgrades and three different ways to
adjust the default shared memory. Note: You will need to reboot the
system for the change in shared memory to take place. You can check if
the shared memory changes happened by typing "sysctl kern.sysv" in a
terminal or xterm window. Look for the kern.sysv.shm* values. If the
values have not changed, make sure you haven't inadvertently left in
"sysctl -w" in the /etc/sysctl.conf file or mis-typed one of the values.
If the /etc/sysctl.conf file is not properly formatted, or shmmax is not
an integer multiple of shmall, the shared memory will not be adjusted
after the reboot.
-----------------
Did you reboot????????
Eric Greisen
More information about the Daip
mailing list