akretion / terminatooor

Ruby Scripting for Kettle provides Ruby scripting capabilities to PDI a.k.a. Kettle by means of a Ruby scripting step.
http://type-exit.org/adventures-with-open-source-bi/kettle-plugins/ruby-scripting-plugin/
Other
1 stars 0 forks source link

JRuby 1.7.23 classloader bug #1

Open rvalyi opened 8 years ago

rvalyi commented 8 years ago

Attempt to switch jruby-complete.jar with JRuby 1.7.23 resulted in classloader error very similar to the one of JRuby 9k:

validation.properties could not be loaded by any means. fail. Exception was: java.lang.IllegalArgumentException: Failed to load ESAPI.properties as a classloader resource.
SecurityConfiguration for Logger.LogServerIP not either "true" or "false" in ESAPI.properties. Using default: true
java.lang.ExceptionInInitializerError
    at org.jruby.lexer.yacc.RubyYaccLexer.<clinit>(RubyYaccLexer.java:74)
    at org.typeexit.kettle.plugin.steps.ruby.RubyStepSyntaxHighlighter.<init>(RubyStepSyntaxHighlighter.java:112)
    at org.typeexit.kettle.plugin.steps.ruby.RubyStepDialog.open(RubyStepDialog.java:235)
    at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:124)
    at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8712)
    at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3061)
    at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:747)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1319)
    at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7939)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9190)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:654)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
Caused by: java.lang.SecurityException: Prohibited package name: java.util.concurrent
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:658)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:794)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClassFromThisLoader(KettleURLClassLoader.java:76)
    at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClass(KettleURLClassLoader.java:99)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at org.jruby.util.ByteList.<clinit>(ByteList.java:1216)
    ... 21 more
rvalyi commented 8 years ago

upgrading from JRuby 1.7.5 to 1.7.10 was still working by contrast...

rvalyi commented 8 years ago

JRuby 1.7.15 OK

rvalyi commented 8 years ago

JRuby 1.7.22 OK JRuby 1.7.23 KO Now that's interesting...

rvalyi commented 8 years ago

so probably one of these commits is the culprit https://github.com/jruby/jruby/compare/1.7.22...1.7.23