Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0.1 Release #193

Closed
6 of 8 tasks
kmadel opened this issue Mar 17, 2016 · 11 comments
Closed
6 of 8 tasks

2.0.1 Release #193

kmadel opened this issue Mar 17, 2016 · 11 comments
Milestone

Comments

@kmadel
Copy link
Contributor

kmadel commented Mar 17, 2016

Critical bug-fix release for #191 via #190

TODO:

  • Create a new issue to track the release and give it the label maintainer communication.
  • Create a release branch. git checkout origin/master -b prepare_release
  • Update the release notes in CHANGELOG.md.
  • Open a pull request from prepare_release branch to master branch. Merge it.
  • Fetch updated master.
  • Execute the release plugin.

Wait ~8 hours....

  • Wait for the plugin to be released into the Jenkins Update Center.
  • Successfully perform an upgrade from the last stable plugin release to the current release.
@kmadel kmadel added this to the 2.0.1 milestone Mar 17, 2016
@OwensCode
Copy link
Contributor

I'm not sure where #188 is being tracked any more, so I'm not sure where to post this comment. Maybe it needs to be reopened. Anyway, I think the SlackNotifier$SlackJobProperty is missing its descriptor is misleading and is not the real problem. I suspect that the actual problem is that the configs were not migrated from the 1.8 format to the 2.0 format for some reason. Then when the job runs Jenkins finds the 1.8 job properties and complains because they are no longer part of the form etc. I can replicate this by forcing the migration to be skipped. I think we need some logs to get a better idea of what's going on; anything after "Starting Settings Migration Process".

@kmadel
Copy link
Contributor Author

kmadel commented Mar 17, 2016

I believe that @samrocketman moved #188 into #191
Regardless, I do believe that #188 was not quite as critical as #190 and wanted to get 2.0.1 out quickly for 2.0.1

@OwensCode
Copy link
Contributor

Thanks @kmadel. I saw that, but #191 was also closed.

@samrocketman
Copy link
Member

Perhaps closing #188 was premature on my part? It can be re-opened. I remember someone where I work describing the issue. I'll ask them for more details.

@samrocketman
Copy link
Member

Was anyone else able to reproduce #190 using my method in #191?

@OwensCode
Copy link
Contributor

I have not had a chance to try reproducing #190.

I think #188 is caused by uploading a job config via the REST API. One of the people reporting it maintains their configs externally and uploads them via a Gradle plugin. In that scenario, the config is not migrated from 1.8 to 2.0 and you get that error, which is actually misleading. Restarting Jenkins fixed the issue for him because the configs were then migrated. I kind of feel like this is an issue that users will have to fix themselves ... if we somehow automatically migrate those configs, then they'll just keep maintaining the old format externally, and we'll be stuck with the config migration always having to take place. Maybe we can log an error when uploading an old format config or something.

@samrocketman I'd be interested to hear whether this is the same use case that your coworker is experiencing, or whether there are some cases where configs are somehow not being migrated.

@shaneargo
Copy link

FYI, I was still having issues after installing 2.0.1. I was no longer getting the NullPointerException all over the place, but I started getting the SlackNotifier$SlackJobProperty is missing its descriptor when attempting to save the configuration.

I fixed the issue by uninstalling the plugin, deleting the /var/lib/jenkins/plugins/slack* files, restarting jenkins, installing 2.0.1 again and then configuring it again.

@samrocketman
Copy link
Member

I've re-opened #188 which describes a similar stack trace.

@OwensCode
Copy link
Contributor

@shaneargo, do you have a backup of a config.xml from the job that you could not save? If you do, can you post it here or in #188 please. The job configs were supposed to be automatically migrated from the 1.8 format, but it's possible that it failed to do that, resulting in those errors. If you don't have a backup of the config, could you look for "Starting Settings Migration Process" in your log files and post any errors that follow it.

@ptagr
Copy link

ptagr commented Mar 21, 2016

@shaneargo : I just tried your workaround of uninstalling the plugin, deleting the /var/lib/jenkins/plugins/slack* files, restarting jenkins, installing 2.0.1 again and then configuring it again but even after that, I was getting a SlackNotifier$SlackJobProperty is missing its descriptor when I installed 2.0.1 and restarted jenkins. Jenkins ver 1.645

Here's the stacktrace from jenkins.log:

Mar 20, 2016 11:03:56 PM jenkins.plugins.slack.SlackNotifier$Migrator onLoaded
INFO: Configuration is already up to date for "zeusbff", skipping migration
Mar 20, 2016 11:03:56 PM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.HudsonFailedToLoad: java.lang.AssertionError: class jenkins.plugins.slack.SlackNotifier$SlackJobProperty is missing its descriptor
        at hudson.WebAppMain$3.run(WebAppMain.java:234)
Caused by: java.lang.AssertionError: class jenkins.plugins.slack.SlackNotifier$SlackJobProperty is missing its descriptor
        at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1223)
        at hudson.model.JobProperty.getDescriptor(JobProperty.java:105)
        at hudson.model.JobProperty.getDescriptor(JobProperty.java:79)
        at hudson.model.Descriptor.toMap(Descriptor.java:973)
        at hudson.model.Job.getProperties(Job.java:558)
        at org.jenkinsci.plugins.envinject.migration.EnvInjectMigrationListener.onLoaded(EnvInjectMigrationListener.java:45)
        at jenkins.model.Jenkins.<init>(Jenkins.java:856)
        at hudson.model.Hudson.<init>(Hudson.java:83)
        at hudson.model.Hudson.<init>(Hudson.java:79)
        at hudson.WebAppMain$3.run(WebAppMain.java:225)

Exception in thread "Jenkins initialization thread" java.lang.AssertionError: class jenkins.plugins.slack.SlackNotifier$SlackJobProperty is missing its descriptor
        at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1223)
        at hudson.model.JobProperty.getDescriptor(JobProperty.java:105)
        at hudson.model.JobProperty.getDescriptor(JobProperty.java:79)
        at hudson.model.Descriptor.toMap(Descriptor.java:973)
        at hudson.model.Job.getProperties(Job.java:558)
        at org.jenkinsci.plugins.envinject.migration.EnvInjectMigrationListener.onLoaded(EnvInjectMigrationListener.java:45)
        at jenkins.model.Jenkins.<init>(Jenkins.java:856)
        at hudson.model.Hudson.<init>(Hudson.java:83)
        at hudson.model.Hudson.<init>(Hudson.java:79)
        at hudson.WebAppMain$3.run(WebAppMain.java:225)
Exception in thread "Simple disk usage checker" java.lang.IllegalStateException: Jenkins has not been started, or was already shut down
        at com.cloudbees.simplediskusage.QuickDiskUsagePlugin.computeDiskUsage(QuickDiskUsagePlugin.java:171)
        at com.cloudbees.simplediskusage.QuickDiskUsagePlugin.computeJobUsage(QuickDiskUsagePlugin.java:209)
        at com.cloudbees.simplediskusage.QuickDiskUsagePlugin.computeJobsUsages(QuickDiskUsagePlugin.java:227)
        at com.cloudbees.simplediskusage.QuickDiskUsagePlugin.access$200(QuickDiskUsagePlugin.java:58)
        at com.cloudbees.simplediskusage.QuickDiskUsagePlugin$3.run(QuickDiskUsagePlugin.java:296)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Mar 20, 2016 11:04:02 PM javax.jmdns.impl.DNSStatefulObject$DefaultImplementation waitForAnnounced

@OwensCode
Copy link
Contributor

Moving any discussion about the SlackNotifier$SlackJobProperty is missing its descriptor error to #188.

@timja timja closed this as completed Nov 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants