Issue:

My application falls when calling function IEngine_FindUserInMemory(IENGINE_USER user, int recordCount, const unsigned char ** recordsInMemory, int * userID, int * score) with undefined error outside my source code.


Cause:

The most likely cause of this error stems from mismatching version of ICS templatesĀ passed to the function. Probe templates in user and gallery templates in recordsInMemory must be the same version that your IDKit SDK requires (e.g. IDKit v2.60 and higher uses version 23, IDKit v2.54 and lower usesĀ version 21).


Solution:

In case you want to use ICS templates exported (IEngine_ExportUserTemplate()) by any older IDKit version, you need to do simple template coversion by re-importing them (IEngine_ImportUserTemplate() followed by IEngine_ExportUserTemplate()). It ensures that the template format is converted to the latest (i.e. required by your IDKit), otherwise the identification will result in undefined behavior or fatal error.