Pipeline Pilot Server 2023 interactions with sqlite3.dll

Windows Pipeline Pilot Servers include an Apache web server (httpd.exe) as part of the installation and the Apache process loads a number of supporting dynamic libraries (.dll) including the third party SQLite library (sqlite3.dll) which we include within the Pipeline Pilot server installation.

However, in the Pipeline Pilot Server, any sqlite3.dll file located elsewhere within the Windows PATH environment will end up superseding the sqlite3.dll file that is shipped with Pipeline Pilot.  As a result, updates to other applications within the Windows OS that also utilize SQLite can cause an incompatible sqlite3.dll file to load causing failures within the Pipeline Pilot Apache service.  This manifests as failures for users to login with valid credentials accompanied by log messages written to Pipeline Pilot's logs/messages/scitegicerror_apache.log file of the form:
    
    Pilot Error: Memory access violation error
    Pilot Error: vcSQLite::Open: Pipeline Pilot exception rethrown
    Pilot Error: vcSQLite::Open (wchar_t*): Pipeline Pilot exception rethrown

This problem only impacts Windows servers, not Linux based servers.

If you encounter this issue with your Pipeline Pilot server, you can correct the problem by following these steps:

  1. Shut down your Pipeline Pilot services
  2. Edit /apps/scitegic/core/packages_win64/apache/httpd/conf/httpd.conf 
  3. Add a LoadFile directive for sqlite3.dll just above the existing “LoadFile /vccore.dll” directive like this:        

(Make sure the bin path is the same as with the other entries)

LoadFile "\sqlite3.dll"
LoadFile "\vccore.dll"

4. Restart the services.
5. If you use the Pipeline Pilot 2023 installer to later add or remove packages, you will need to repeat these steps