ARM 4 Frequently Asked Questions

Is there a Windows version?

Not at this time. The ARM4 tools depend on the xmlrpc-c library, and at this point it doesn't build on Windows.

I'm seeing errors in my syslog such as 'libarm4[1431]: Transaction uri msgsnd Invalid argument'. How can I fix this?

This happens when your message queues are too small to hold the up to 12285 bytes for the uri as specified in the ARM 4 standard. This is usually fixed by tuning the massage queue parameters for your operating system, specifically MSGMAX and MSGMNB.

MSGMAX is the maximum message size. I recommend setting this to 65536 or greater. A related parameter is MSGMNB which sets the maximum number of bytes on a queue. This should also be set to 65536 or greater. To do this on most Linux variants:

 $ echo 65536 > /proc/sys/kernel/msgmax
 $ echo 65536 > /proc/sys/kernel/msgmnb

For RedHat Linux, and Fedora, this is contained in /etc/sysctl.conf. You can do this automatically by adding (or changing) the following:

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

Consult your operating system documentation for the best way to do this on your system.