Kevin Furze · May 25, 2017

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 352
Discussion (4)1
Log in or sign up to continue

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?