Project

General

Profile

Actions

Architecture #18406

closed

Architecture #18395: Update dependencies for the webapp

Missing base class of plugins breaks `reflections` with caffeine version 2.8.2

Added by François ARMAND about 4 years ago. Updated about 4 years ago.

Status:
Released
Priority:
1 (highest)
Category:
Architecture - Dependencies
Target version:
Effort required:
Name check:
To do
Fix check:
Checked
Regression:

Description

In log, we have

org.reflections.ReflectionsException: Scanner SubTypesScanner was not configured
    at org.reflections.Store.get(Store.java:39)
    at org.reflections.Store.get(Store.java:61)
    at org.reflections.Store.get(Store.java:46)
    at org.reflections.Store.getAll(Store.java:93)
    at org.reflections.Reflections.getSubTypesOf(Reflections.java:404)
    at bootstrap.liftweb.Boot.initPlugins(Boot.scala:548)
    at bootstrap.liftweb.Boot.boot(Boot.scala:252)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at net.liftweb.util.ClassHelpers.$anonfun$createInvoker$2(ClassHelpers.scala:357)
    at net.liftweb.http.DefaultBootstrap$.$anonfun$boot$1(LiftRules.scala:2250)
    at net.liftweb.common.Full.map(Box.scala:856)
    at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:2250)
    at net.liftweb.http.provider.HTTPProvider.bootLift(HTTPProvider.scala:88)
    at net.liftweb.http.provider.HTTPProvider.bootLift$(HTTPProvider.scala:83)
    at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:1063)
    at net.liftweb.http.provider.servlet.ServletFilterProvider.init(ServletFilterProvider.scala:40)
    at net.liftweb.http.provider.servlet.ServletFilterProvider.init$(ServletFilterProvider.scala:35)
    at net.liftweb.http.LiftFilter.init(LiftServlet.scala:1063)
    at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:134)

An trying to load boot page leads to a page full of error about security violation and class not found:


Files

clipboard-202010231248-uyoyx.png (75.1 KB) clipboard-202010231248-uyoyx.png François ARMAND, 2020-10-23 12:48
Actions #1

Updated by François ARMAND about 4 years ago

  • Status changed from New to In progress
Actions #2

Updated by François ARMAND about 4 years ago

The problem appears when we switch from version 2.8.1 to 2.8.2 on an OpenJDK 11 JVM.

Actions #3

Updated by François ARMAND about 4 years ago

  • Subject changed from caffeine in version 2.8.6 breaks all rudder to Missing base class of plugins breaks `reflections` with caffeine version 2.8.2

OK, so it has nothing to do with caffeine, and for now I don't understand why changing its version triggered the problem.

But looking around in the internet, I found that ticket: https://github.com/victools/jsonschema-generator/issues/102#issuecomment-640905754

And yes, adding the package where RudderPluginModule is defined in reflections package to scan DID solved the issue.

And I think I don't want to dig it further. Classpath are complicated; reflection is complicated; both are brittle. It works, fine.

Actions #4

Updated by François ARMAND about 4 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from François ARMAND to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder/pull/3297
Actions #5

Updated by François ARMAND about 4 years ago

  • Status changed from Pending technical review to Pending release
Actions #6

Updated by Vincent MEMBRÉ about 4 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 6.2.0~beta1 which was released today.

Actions #7

Updated by François ARMAND about 4 years ago

  • Fix check changed from To do to Checked
Actions

Also available in: Atom PDF