The ruby runtime plugin fails to load when running Jenkins with Java 11. I
think that is one more reason to discuss deprecation of the ruby-runtime
plugin again.
The failure message is "*unsupported Java version: 11*":
2021-04-14 17:46:48.215+0000 [id=31] INFO
ruby.RubyRuntimePlugin#start: Injecting JRuby into XStream
2021-04-14 17:46:48.451+0000 [id=31] WARNING
jenkins.model.Jenkins$5#runTask: Loading plugin ruby-runtime v0.12
(ruby-runtime) failed perhaps due to plugin dependency issues
*java.lang.RuntimeException: unsupported Java version: 11*
at
org.jruby.RubyInstanceConfig.initGlobalJavaVersion(RubyInstanceConfig.java:1674)
at
org.jruby.RubyInstanceConfig.<clinit>(RubyInstanceConfig.java:1387)
Caused: java.lang.ExceptionInInitializerError
at
org.jruby.embed.internal.AbstractLocalContextProvider.<init>(AbstractLocalContextProvider.java:42)
at
org.jruby.embed.internal.SingleThreadLocalContextProvider.<init>(SingleThreadLocalContextProvider.java:43)
at
org.jruby.embed.ScriptingContainer.getProviderInstance(ScriptingContainer.java:242)
at
org.jruby.embed.ScriptingContainer.<init>(ScriptingContainer.java:226)
at
org.jruby.embed.ScriptingContainer.<init>(ScriptingContainer.java:192)
at
org.kohsuke.stapler.jelly.jruby.JRubyFacet.<init>(JRubyFacet.java:65)
at
ruby.RubyRuntimePlugin.registerJRubyFacet(RubyRuntimePlugin.java:39)
at ruby.RubyRuntimePlugin.start(RubyRuntimePlugin.java:30)
at
hudson.ClassicPluginStrategy.startPlugin(ClassicPluginStrategy.java:406)
at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:395)
Caused: java.io.IOException: Failed to initialize
at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:398)
at hudson.PluginManager$2$1$1.run(PluginManager.java:551)
at
org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at
jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2021-04-14 17:46:48.457+0000 [id=32] SEVERE
jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Rvm v0.6
(rvm)
java.io.IOException: Failed to load: Rvm (0.6)
- Plugin is missing: ruby-runtime (0.12)
at
hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:950)
at hudson.PluginManager$2$1$1.run(PluginManager.java:550)
at
org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at
jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by
com.google.inject.internal.cglib.core.$ReflectUtils$2
(file:/home/mwaite/tmp/JENKINS-65243/war/WEB-INF/lib/guice-4.0.jar) to
method java.lang.ClassLoader.
defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of
com.google.inject.internal.cglib.core.$ReflectUtils$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal
reflective access operations
WARNING: All illegal access operations will be denied in a future release
On Wednesday, April 14, 2021 at 10:34:37 AM UTC-6 [email protected]
wrote:
> So revisiting this really old ticket.
>
> As i've been working on rewriting/improving the process of processing
> metadata to produce plugin documentation, I'm noticing we have a lot more
> legacy bad data than I expected. While I am handling it, I also want to try
> and improve things. As such, ruby runtime is going to be on my list to
> discuss.
>
> Looking at the original list that db generated, all of them have not been
> released in at least 5 years (most are 7-9 years), including gitlab-hook
> which has huge security errors listed. I was certain at one point I saw
> ruby runtime being no longer supported in core but I can't find
> confirmation of that, so may have been thinking of this discussion.
>
> So revisiting, Can we suspend distribution of these plugins now? take them
> out of update center, prevent new installs from happening. As stated in the
> earlier comments by Jesse, this wouldn't prevent existing installs from
> using them (although they probably don't work), but would prevent peoples
> installs from getting worse.
>
> If the only blocker to doing so was writing up a blog post I can draft
> something and we can start the process of removing the support and plugins
> for ruby runtime
>
> Gavin
>
> On Friday, August 17, 2018 at 4:40:03 AM UTC-7 Oleg Nenashev wrote:
>
>> Hi Daniel,
>>
>> Thanks for the amendment!
>> Would it be also possible to add an "Announcement" section to reasoning
>> and explicitly document why proposals (blogpost, administrative warning,
>> direct maintainer notification) are rejected?
>>
>> I still disagree with the user notification approach taken in this
>> proposal, and I believe we should do the best possible effort to notify
>> users.
>> Spending 1 hour to write a blogpost with heads-up and workaround
>> guidelines (and invitations to contribute) is the most obvious way to do
>> that.
>> I do not understand why there is so much resistance about that.
>>
>> CCing all known plugin maintainers in this thread is another obvious way
>> to make them aware of the thread. We cannot expect that any plugin
>> maintainer carefully reads every thread in the mailing list.
>>
>> "Scriptler, Build Flow, Copy to Slave, or Perforce."
>>>
>>
>> I do not buy that justification for JEP-7. All these plugins have been
>> depublished due to security reasons, so there was no way to properly notify
>> users in advance. But even in such case, the users know about the incoming
>> security release in advance so they can prepare to mitigate breaking
>> changes. Maintainers also got directly contacted, and they acknowledged the
>> action. Here you propose to depublish a bunch of
>> non-healthy-but-operational plugins, and the proposed notification process
>> is "let's just do that, they should have read mailing lists". And there are
>> low-cost ways to let users know in advance and to soften the change. I
>> cannot agree with such approach, sorry.
>>
>> Best regards,
>> Oleg
>>
>>
>> On Thursday, August 16, 2018 at 9:45:33 PM UTC+2, Daniel Beck wrote:
>>>
>>>
>>> > On 16. Aug 2018, at 19:45, Oleg Nenashev <[email protected]> wrote:
>>> >
>>> >> You mean, so that _new_ users can _install_ the plugins? I would say
>>> no.
>>> >
>>> > How would you define a "new" user in the new configuration-as-code
>>> world? If somebody uses official Jenkins Docker image with plugins.txt, the
>>> plugins will fail to install when you rebuild the image after the change
>>> gets deployed. And it is a pretty popular approach nowadays. Plugin
>>> installation features in JCasC 1.0 RC would be also affected AFAICT.
>>>
>>> As of last count, 111 installs of CasC plugin. I'd be _very_ surprised
>>> if this ended up affecting more than 5 systems total.
>>>
>>> And while this isn't the only approach to configuration-as-code, people
>>> should not expect us to continue distributing plugins indefinitely after we
>>> blacklisted the likes of Scriptler, Build Flow, Copy to Slave, or Perforce.
>>>
>>> Notably, update sites only have the newest release, which isn't suitable
>>> for C-as-C anyway, so I expect the more stable approaches to use our Maven
>>> repo anyway -- which will not be affected.
>>>
>>> Running one's own Maven repo has been an important best practice for a
>>> long time. With C-as-C, running one's own update site should be similar.
>>>
>>> I will amend the JEP to record this concern and the answers. I don't
>>> think we need to change anything about the chosen approach.
>>>
>>>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/22ac20c3-486c-4d4d-bb2c-873c5d20a887n%40googlegroups.com.