diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-09 23:48:25 -0500 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-09 23:48:25 -0500 |
commit | 5c5bac097e4d81b3a826c3dade041c4bdbb05b77 (patch) | |
tree | 37cf61da070b2c32f23dbf09f2bd92585fe5609a /DEVELOPER_GUIDE.txt | |
parent | 75310e0cb942883545f0a142b2e7b61dbb1134b4 (diff) | |
download | cbt-5c5bac097e4d81b3a826c3dade041c4bdbb05b77.tar.gz cbt-5c5bac097e4d81b3a826c3dade041c4bdbb05b77.tar.bz2 cbt-5c5bac097e4d81b3a826c3dade041c4bdbb05b77.zip |
fix java.lang.LinkageError due to cache invalidation bug
cbtHasChanged does never change across one run. However
classLoaderRecursion removes the corresponding classloader if
needsUpdate is true. It is called multiple times meaning it removes
and re-creates the classloader on every call leading to potentially
multiple conflicting cbt classloaders. needsUpdate should never be
returning true more than ones across a single run. Otherwise it can
lead to this error:
java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "Build.lib()Lcbt/Lib;" the class loader (instance of cbt/URLClassLoader) of the current class, Build, and the class loader (instance of cbt/URLClassLoader) for interface cbt/BaseBuild have different Class objects for the type cbt/Lib used in the signature
Diffstat (limited to 'DEVELOPER_GUIDE.txt')
0 files changed, 0 insertions, 0 deletions