Problems with zlib1.dll
Hello,
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)
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.
Process monitor is useful tool in these cases (https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx).
Process monitor shows directories where zlib1.dll is searched for. So you can check if zlib1.dll is searched in <cache-dir>\bin.
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?