You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
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.
The text was updated successfully, but these errors were encountered: