Troubleshooting

Lime CRM can be started in safe mode which disables all addins that are otherwise loaded at startup. In safe mode the Internet pane web page is also set to a blank page. Use safe mode to temporarily log in to Lime CRM in case of problems. Safe mode is enabled by using a command-line argument to lime.exe:

"C:\Program Files (x86)\Lundalogik\Lime CRM\lime.exe" /safemode

There are a number of registry settings that can make troubleshooting and optimizations easier. The following values can be entered under the registry key HKEY_CURRENT_USER\Software\Lundalogik\Lime\Debug (1 = enabled, 0 = disabled):

Value Type Description
DebugMode DWORD This is the master switch that controls all values below and must thus be enabled for any other setting to be enabled.
DataAccessBeep DWORD When enabled Lime CRM will beep every time a database call is triggerd (useful when optimizing VBA database access).
DataUpdateBeep DWORD When enabled Lime CRM will beep every time a data update is triggered.
ShowErrors DWORD Specifies if error messages that usually only go to the event log also should be displayed on the screen.
ShowDatabaseFieldNames DWORD Displays the database names of fields in all inspectors.
VerboseLogging 1) DWORD Enables extra logging to the event log. Useful for e.g. troubleshooting startup problems.
File.Contents DWORD When enabled all document retrievals will be logged with ID and file name.

To make diagnosing serious problems in Lime CRM easier logging of application crashes can be enabled. When this feature is enabled (available in version 10.7 and later) a detailed log and crash dump will automatically be created if the Lime CRM desktop client crashes.

The crash logging feature is enabled by adding or changing values in the Windows registry below the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lundalogik\Lime\CrashHandler. The following values can be set:

Name Type Description
Enabled DWORD 0 = disabled (default), 1 = enabled
ReportPath String Path to the folder where crash logs are to be saved. Environment variables are automatically expanded which makes it possible to specify e.g. %USERPROFILE%\Desktop\LIME Crash Reports to save the logs in a folder on the users desktop. This value is optional and if not specified logs will be sent to Lundalogik by e-mail (after prompting).

The LDC component can be instructed to log all SQL statements that it is about to execute by changing a value in the registry on the application server.

On 32-bit Windows editions the value is located in the registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Lundalogik\Lundalogik Data Components\Databases\<<database name>>\Auditing

On 64-bit Windows editions it is located in the registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lundalogik\Lundalogik Data Components\Databases\<<database name>>\Auditing
Value Type Description
SQLExecution DWORD 1 = log only successful calls, 2 = log only errors (default), 3 = log everything.

Important!

If you change this value remember to set it back to the default since the amount of logs created quickly can become immense.

Sometimes it can be interesting for debug or optimization purposes to see which stored procedures are executing and how long they need to execute. By setting sys_procedure_log_level in the setting system table to 1 then calls to some system procedurse (lsp_) will be logged to the table procedurelog.

Important!

Do not forget to disable logging (sys_procedure_log_level = 0) after you are done debugging. Having logging enabled for longer periods of time will reduce database performance and the procedurelog table will grow until disk space runs out.

You can also use the stored procedure logging functionality in custom procedures and functions (csp_, cfn_) by using the following template:

CREATE PROCEDURE [dbo].[csp_myprocedure]
AS
BEGIN
  SET NOCOUNT ON
 
  DECLARE @retval int
  DECLARE @starttime datetime
 
  SET @retval = 0
  SET @starttime = GETDATE()
 
  -- Stored procedure logic here
  -- ...
  -- ...
  -- ...
  -- ...
 
  -- Log procedure
  EXECUTE lsp_addprocedurelog @@procedureid = @@procid, @@starttime = @starttime
 
  RETURN @retval
END

The following query can be used for retrieving log data from the procedurelog table:

SELECT
  pl.[timestamp] AS N'Timestamp',
  ao.name AS N'Procedure',
  pl.prm AS N'Parameters',
  ISNULL(u.username, N'Unknown') AS N'Username',
  pl.duration AS N'Duration (ms)'
FROM
  procedurelog pl
LEFT JOIN
  sys.all_objects ao ON ao.object_id = pl.procid
LEFT JOIN
  [user] u ON u.iduser = pl.iduser

Lime CRM Server stores logs in C:\ProgramData\Lundalogik\Lime CRM Server\<service>\logs\, where <service> is Web Server for the main server. The server logs errors and warnings by default, but info and debug logging can be enabled by adding the following to C:\ProgramData\Lundalogik\Lime CRM Server\Web Server\configs\config.ini

[logging]
level = DEBUG
errorloglevel = DEBUG

Web Server service do not start

Check the server log for the cause, but the two most common reasons are:

  • Service user does not have access to the Lundalogik folder in C:\ProgramData
  • The certificate used was not exported/converted correctly, see Web server configuration

An error is shown when using the search in the Web application

Database is not indexed, run limefu search index -a <database name>

Fields missing from cards

View is not up to date, log in as admin and use the view editor to add the missing fields, see Views and indexes

Webclient login page is not found

Webclient is not enabled, open C:\ProgramData\Lundalogik\Lime CRM Server\Web Server\configs\config.ini and add the following:

[features]
webclient_login = True
api = True

Installation fails on upgrade

Services might be locked from other open windows so that they cannot be uninstalled properly. Make sure to not have any other windows open when you run the installation.


1)
available starting with version 10.12
  • Last modified: 2 years ago
  • (external edit)