-
Bug
-
Resolution: Fixed
-
Critical
-
8.5.0
-
None
-
Security Level: Jimmy
-
None
-
ZK 8.5.1 S1
-
None
problem
An application that contains both zk-8.5.0.jar and zpoi-3.9.7.jar, but ZK loads zpoi-3.9.7.jar/metainfo/zk/build, therefore show the error message:
Failed to process
Your ZK binary is being altered and may not work as expected. Please contact us at [email protected] for assistance.: Error:4665b2bef
Steps to Reproduce
- set breakpoint in AbstractWebApp.loadBuild()
- change path's value to "file:/Users/hawk/zk-1app/WEB-INF/lib/zpoi-3.9.7.jar!/metainfo/zk/build"
Current Result
a zpoi.jar path passes the check, so ZK will load zpoi.jar's build instead of zk.jar
"file:/Users/hawk/zk-1app/WEB-INF/lib/zpoi-3.9.7.jar!/metainfo/zk/build".matches("(.)zk-\\d.\\.jar
!/metainfo/zk/build") returns true
Since class loader doesn't return an Enumeration with a fixed order in different OS, sometimes zpoi.jar is the first object we visit in the loop.
Expected Result
not load build in zpoi.jar
Debug Info
- customer's environment wildfly 10.0.0.CR5
Root Cause
- in (.)zk-\\d.\\.jar
!/metainfo/zk/build, the dot . after \d is the root cause
Workaround
- remove zpoi.jar/metainfo/zk/build