Closed Altaflux closed 8 years ago
Sorry for the delay, thanks, I'll have a look at it soon.
Thanks for taking a look, unluckily I cannot send you the library we are using that triggers the problem as it is third party proprietary but I can help testing it to see if it resolves the issue.
Can you check if it still happens with the tip of the fix-44
branch? There's also a 0.7.0-SNAPSHOT
published on SonaType that includes this robustnesess (tentative) fix.
@circlespainter Hi, Snaphot 0.7.0-Snapshot did the trick and now it can load the obfuscated classes correctly.
Thanks a lot!
Without exact information about the reasons it looks like some obfuscated classes when being loaded by the QuasarWebAppClassLoader fail to be parsed, not because Quasar cannot instrument them, but because their names are not parse-able correctly and fail with StringIndexOutOfBoundsException which fully stops the web application from starting.
On line 72 of QuasarWebAppClassLoader : if (entry != null && path.endsWith(".class") && entry.binaryContent != null) { String className = name.substring(0, name.length() - ".class".length());
This are the parameters used. name=d.a path=d/a.class manifestRequiere=true
The condition checks if the path contains the ".class" word but the name does not contains it. As this condition is outside the try catch block it stops the startup of the application as the exception propagates.