Problems with zlib1.dll


I'm having a problem with %SQL.Statement.

I have a ClassMethod on Cache that I'm trying to access via - this.db.invoke_classmethod.

When I get to my %Prepare I get a <DYNAMIC LIBRARY LOAD> error. Upon checking cconsole.log I find the following...

05/25/17-09:45:35:224 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:45:35:224 (9876) 2 zlib unavailable
05/25/17-09:58:12:507 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:58:12:507 (9876) 2 zlib unavailable
05/25/17-09:58:12:585 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:58:12:585 (9876) 2 zlib unavailable
05/25/17-09:58:12:616 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:58:12:616 (9876) 2 zlib unavailable
05/25/17-09:58:23:663 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:58:23:663 (9876) 2 zlib unavailable
05/25/17-09:58:23:679 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:58:23:679 (9876) 2 zlib unavailable
05/25/17-09:58:23:741 (9876) 2 Error loading zlib1.dll: 126
05/25/17-09:58:23:741 (9876) 2 zlib unavailable

Interestingly if I run the ClassMethod in terminal and then run it in the web page again I do not get the error, but if left for some time it intermittently happens again and I have to run it in terminal to get the webpage working again.

This also doesn't seem to be limited to one instance of %SQL.Statement, if I "fix" one by running it in terminal another one further down the line can throw the same error.

I'm using Node 6.9.5 and QEWD if that is helpful.

Edit: The version of cache I'm using is - Cache for Windows (x86-32) 2016.2.1 (Build 803)

  • 0
  • 0
  • 231
  • 2
  • 2


Error with code 126 it is, usually dependencies error. Looks like you loose some of system libraries which used by zlib1.dll.

I would suggest using Dependency Walker, to find what you need.

Thank you for your help. I've run Dependency Walker and the only missing .dll are of the API-MS-WIN and EXT-MS-WIN variety which I believe are false negatives.


Have you tried some tests just using a simple test harness Node.js file built around cache.node, and building out your example that uses cache.node's invoke_classmethod, extending it step by step until it fails?