Troubleshooting¶

CloudLinux/cPanel Problems¶

If you have experienced an error while using LSMCD Secure User Data in a CloudLinux/cPanel environment, you will probably require administrator intervention. This section assumes that you are either discussing the issue with your administrator now, or are collecting information for later discussion.

Errors Getting Stats¶

There are several types of errors which can occur while getting stats:

• RC: 121 Output: Stats server exception:
• RC: 122 Output: Stats server access error

RC: 121 Output: Stats server exception: (message)¶

The message should be examined in detail to attempt to understand the problem. You may need to check the LSMCD log, usually in /tmp/lsmcd.log. If it is not obvious from examination, contact LiteSpeed Technical Support.

RC: 122 Output: Stats server access error¶

Most of the time this is caused by the LSMCD server not being active. Verify the process lsmcd is running. If it is, you should check the LSMCD log, usually found in /tmp/lsmcd.log. If the service is not running, it can be started from a root console with the following command:

sudo /usr/local/lsmcd/bin/lsmcdctrl start


Other Tools¶

There are other things you can do to validate accessibility to the LSMCD server. All involve running in a console (ssh session) as root:

• Run telnet (TCP) or nc (UDS)
• Check the log
• Get stats manually

Run telnet (TCP)¶

To run telnet to lsmcd, you must not have SASL enabled. You must know the IP address and port configured for LSMCD. For example if you are running on the local server with the default port of 11211:

telnet 127.0.0.1 11211


Note

If telnet is not found (and it's not installed by default), you may need to install it. For RedHat/CentOS run the following in a command line:

sudo yum install telnet


Once you have connected, you can run run the stats command to validate that you have proper connectivity. It should report the current stats for the anonymous user.

Run nc (UDS)¶

If you have configured in your node.conf, a Cached.Addr which uses a UDS: prefix then you should use nc to connect to lsmcd rather than telnet. As for telnet this only works if you are not using SASL. You must know the UDS socket name. For example, if you have in your node.conf Cached.Addr=UDS:///tmp/lsmcd.sock you would specify a connection request of:

nc -U /tmp/lsmcd.sock -C

As for telnet, once you have connected you can run the stats command to validate that you have proper connectivity.

Check the log¶

This should be done for any and all problems. The log is /tmp/lsmcd.log by default. If there is insufficient logging to help you find the problem, you can update node.conf (in /usr/local/lsmcd/conf/node.conf) to set LogLevel=dbg_medium. You will need to restart the LSMCD server.

Manually perform the stats function¶

The stats are obtained by running a script. You can do this manually from the command line. In a default install:

cd /usr/local/cpanel/base/frontend/paper_lantern/lsmcd_usermgr
./lsmcdsasl.py 127.0.0.1:11211 user


Where user is the user you are verifying.

Some other errors which may pop up:

• Unrelated messages in the system journal when lsmcd starts up
• cached.addr not given a value in
• Error messages in the log indicating a shortage of memory, split memory or other issues.

If any of these errors occur, you should check the LSMCD log. The log is usually in /tmp/lsmcd.log, as specified in the LogFile parameter of the default node.conf file (usually found in /usr/local/lsmcd/conf/node.conf).

It is recommended that you also check the Other Tools in the section above for other troubleshooting ideas.

Unrelated messages in the system journal when lsmcd starts up¶

Your system journal may show messages like this when lsmcd starts:

lsmcd[3327105]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter su
lsmcd[3327105]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
lsmcd[3327105]: sql_select option missing
lsmcd[3327105]: auxpropfunc error no mechanism available
lsmcd[3327105]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql


You can remove those messages by uninstalling cyrus-sasl plugins for ldap and sql (if they are not needed by other applications). Run as root:

yum remove cyrus-sasl-sql
yum remove cyrus-sasl-ldap


This message will be followed by the expected fully qualified file name location. It is the conf directory in the startup location for LSMCD, usually /usr/local/lsmcd/conf/node.conf. Verify that node.conf is in this location, as this is the configuration file for LSMCD. If the file does exist in that location or the location is something unexpected, contact LiteSpeed Technical Support.

This message indicates that in the node.conf file (which should be displayed fully qualified) the parameter title Cached.Addr was not found. This parameter, which is not case-sensitive, is the server address used by external applications to get to LSMCD and is required. Cached.Addr is a title, and all parameters in node.conf are in the form title=value. The form for the line is (for TCP/IP listening)

Cached.Addr=(IP address):(port number)

or for Unix Domain Socket file name:
Cached.Addr=UDS:///(file name)

This parameter is required, as it is the way that external applications access the server. The default value in the default file is:
Cached.Addr=127.0.0.1:11211

If this parameter is in the file and appears correct, or something else unexpected occurs, contact LiteSpeed Technical Support.

cached.addr not given a value in¶

This message is followed by the complete line the parameter is found in, and is then followed by the file name. Verify that Cached.Addr has a value as described above. The default value in the default file is

Cached.Addr=127.0.0.1:11211

If this parameter is in the file and appears correct or something else unexpected occurs, contact LiteSpeed Technical Support.

Memory errors in the log¶

If you are running into messages indicating a shortage of memory or split memory in the log, the problem may be corrupt shared memory files. Your primary symptom will be failure of applications to correctly use lsmcd. To regenerate the shared memory files:

• Stop the service: sudo /usr/local/lsmcd/bin/lsmcdctrl stop
• Remove the shared memory files: sudo rm -rf /dev/shm/lsmcd
• You should be able to restart the service and all should work correctly: sudo /usr/local/lsmcd/bin/lsmcdctrl start

If you continue to have problems about memory logged you should contact LiteSpeed Technical Support.

Updating¶

One approach to troubleshooting is to update to the latest version of the code. The procedure is:

• Log in as the user who did the original compile and cd to the directory. Download the latest version and extract it as you did in Getting Started. If you used git it is as simple as git pull.
• Build the executable: make.
• Stop the server: sudo /usr/local/lsmcd/bin/lsmcdctrl stop
• Copy the files: sudo make install
• Restart the server: sudo /usr/local/lsmcd/bin/lsmcdctrl start

If you have a problem compiling on a system where the software has been built before, try the following process, logged on as the compiling user and in the directory where you wish to compile:

autoreconf --install --force

If you continue to have problems compiling, remove the compiling directory and repeat the Download/Compile/Install process described in Getting Started.

Last update: March 4, 2021