Known Issues

System and Installation

Memory leaks

  • If you use the CRT library to detect memory leaks in your program, it can falsely detect some memory leaks when you use the library.

    • This is a known limitation of the CRT library memory leak detection scheme. See Microsoft documentation.

    • It happens when the memory leak detection scheme is ended before the DLL is unloaded or the code in the headers is uninitialized.

eVision installer

  • There is a conflict between the eVision installer and any program using the UDP:6001 port. When a software is already using this port, the installation fails and rolls back.

    • Workaround: Install eVision first, and then the other software.

Hint

This port is typically used by National Instrument software such as LabView.

Libraries

All

  • Since version 24.02, cannot read back the serialization of some objects made with previous versions.

    • ERectangleRegion or E3DObject are known to be affected by this issue.

Image File Formats

  • TIFF files containing RGB values + alpha values are not supported.

EasyImage

  • The constructor EKernel using an EKernelType as parameter does not use the same rectifier as the associated method Convol.

    • For instance, EKernel(EKernelType_GradientX) returns a kernel with a EKernelRectifier_KeepPositive rectifier while the method ConvolGradientX uses a EKernelRectifier_Absolute rectifier.

  • The method ConvolKernel does not have the same border value behavior (constant) as the pre-defined method like ConvolGradientX which is mirror.

  • EHarrisInterestPoints can be slow to draw when there are many results.

EasyObject

  • ECodedImage2 and EObjectSelection can be slow to draw when there are many results.

EasyMatch

  • Matching a vertically symmetric pattern with an angle tolerance around 180° and in the original image can lead to an error of 1 pixel on the detected position.

  • By default, EasyMatch interpolation does not work on 15 x 15 and smaller patterns.

    • Workaround: For pattern sizes smaller than 16 x 16, adjust the MinReduced area to fit the MinReducedArea < W*H/4 (if interpolation is needed).

EasyGauge (Legacy API)

  • In .NET, the EPointGauge.GetMeasuredPoint() overload with no argument is not available. To get the default measured point, use -1 as index.

  • By design, an ELineGauge, ERectangleGauge, ECircleGauge or EWedgeGauge is reported as invalid if at least one of its sample points is invalid. In addition, these invalid sample points cannot be drawn as they have not been measured successfully.

  • The EWedgeGauge::SetActiveEdges() method incorrectly gets the EDragHandle_Edge_r and EDragHandle_Edge_RR bits mixed up when processing its argument.

    • Workaround: In order to activate the inner circle, set the EDragHandle_Edge_RR flag and use the EDragHandle_Edge_r flag to activate the outer circle.

  • Using a gauge on an ROI leads to drawing problems.

    • Workaround: Use the gauge on the parent image.

  • In the custom EDraggingMode_ToEdges dragging mode, you cannot resize the nominal wedge gauge position using the on-screen handles, neither in a custom application nor in or in Eval.

    • Workaround: Enter numerical values for the wedge gauge position.

  • When attaching a gauge to a worldshape or another gauge, you must keep a reference of this gauge alive (that is keep the gauge in a variable or an array in your program) otherwise it “disappears” from the hierarchy (immediately in C++ , depending on the garbage collector in Python and C#).

EasyMatrixCode

  • EasyMatricCode1

    • When grading is enabled, the optimizations are made in order to get accurate grading rather than have the best possible reading. As a result, the number of decoding errors reported with grading can be higher than without grading.

    • Inspecting images with a lot of details, even if they are low contrast, can require much more time spent in EasyMatrixCode than the TimeOut set previously.

Deep Learning tools

  • Deep Learning tool objects (EClassifier, EUnsupervisedSegmenter, ESupervisedSegmenter, ELocator, EDeepOCRTool) will not free all the CPU and GPU memory that they allocated at destruction. This is due to third party libraries used for Deep Learning that maintain global caches or buffers.

    • So, it is not recommended to create and delete a lot of Deep Learning tools in the same program.

Licensing

Legacy License Manager

  • The Legacy License Manager might not start if the .NET Framework 4.8 is not installed.

  • Using in English language mode on a Chinese or Japanese Windows version can lead to truncated text being displayed. This is an issue linked to the automatic font selection and there is currently no workaround. Please note however that, by default, the runs in the OS language, including Chinese and Japanese.

Neo License Manager

  • In some cases, offline to offline reactivation may not work.

Long starting time

On some installations, the licensing systems can take a long time to start (from 10 seconds up to a few minutes). If you have this issue, you can try the following procedures:

  • Clean your software license cache.

    • The software license cache can become bloated by usage.

    • It can also happen if you use only dongles, as the system checks the presence of software licenses in all cases.

    • To clean the cache, use the LicenseManager.exe /DeleteLicenseFiles command.

Warning

This command deletes all the licenses that are not managed by the on the system. Reactivate these licenses after the cleaning.

  • Update your system root certificates.

    • If your root certificates are expired, the validation of the licensing system signatures might fail and timeout.

    • This only happens if the computer is on a network, even if the network is not connected to the Internet.

  • Enable only the licensing system(s) you use.

    • By default, all the supported licensing systems are enabled.

    • Use the new (available from 2.13) Preconfiguration::SelectLicensingModels method to select exactly the licenses you want to enable and avoid issues arising from the usage of the other ones.

Samples

  • In the provided Python samples using both and Qt, a rare bug was reported causing failure at loading shared library due to negative interaction with the Qt library on some computers only.

    • The conditions necessary to reproduce this bug are currently unknown.

    • A workaround and an explanation of this bug is now provided in those Python / Qt samples.