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

ClassCastExceptions in Configuration export after upgrade to 1.17 #902

Closed
oleg-nenashev opened this issue May 31, 2019 · 4 comments · Fixed by #905
Closed

ClassCastExceptions in Configuration export after upgrade to 1.17 #902

oleg-nenashev opened this issue May 31, 2019 · 4 comments · Fixed by #905

Comments

@oleg-nenashev
Copy link
Member

I was using JCasC 1.15 in my environment, and configuration export used to work well for many fields. However, with 1.17 I get export errors.

Export outputs in 1.15

clouds:
  - amazonEC2:
      cloudName: "EC2-sample-config"
      credentialsId: "acmecorp-aws"
      privateKey: "Stub: EC2PrivateKey"
      region: "us-east-1"
      templates:
      - ami: "windows64x"
        amiType:
          windowsData:
            password: "{AQAAABAAAABAkyiq0U5bypJho6ZV+4FG3pD7ZIjPOwJSoOrR5rfMCEIFRlsa0VPjB+6JbZF1DYmoOLTuaW4fykoqAd7vHE0jwCEqmxMUYUPG3m9jaCRExnI=}"
            useHTTPS: false
        associatePublicIp: false
        connectBySSHProcess: false
        connectUsingPublicIp: false
        deleteRootOnTermination: false
        description: "Windows Slave"
        ebsOptimized: false
        idleTerminationMinutes: "30"
        mode: NORMAL
        monitoring: false
        numExecutors: 1
        remoteFS: "/remote/root"
        stopOnTerminate: false
        t2Unlimited: false
        type: T3Nano
        useDedicatedTenancy: false
        useEphemeralDevices: false
        usePrivateDnsName: false
      useInstanceProfileForCredentials: false
  jdk:
    defaultProperties:
    - installSource:
        installers:
        - jdkInstaller:
            acceptLicense: false
    installations:
    - name: "loca-jdk"
      properties:
      - installSource:
          installers:
          - command:
              command: "echo \"Tool installation magic NOOP\""
              label: "linux || windows"
              toolHome: "/tools/jdk"

Broken Outputs in 2.17

clouds: "FAILED TO EXPORT hudson.model.Hudson#clouds: java.lang.ClassCastException:\
    \ java.util.Collections$UnmodifiableRandomAccessList cannot be cast to hudson.plugins.ec2.SlaveTemplate\
    \  at hudson.plugins.ec2.EC2Cloud.readResolve(EC2Cloud.java:198)  at hudson.plugins.ec2.EC2Cloud.<init>(EC2Cloud.java:189)\
    \  at hudson.plugins.ec2.AmazonEC2Cloud.<init>(AmazonEC2Cloud.java:72)\nCaused:\
    \ java.lang.reflect.InvocationTargetException  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native\
    \ Method)  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\
    \  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\
    \  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)  at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.describe(DataBoundConfigurator.java:256)\
    \  at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$convertToNode$de0cd4f8$1(HeteroDescribableConfigurator.java:233)\
    \  at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:201)\
    \  at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.convertToNode(HeteroDescribableConfigurator.java:233)\
    \  at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$describe$5(HeteroDescribableConfigurator.java:103)\
    \  at io.vavr.control.Option.map(Option.java:373)  at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.describe(HeteroDescribableConfigurator.java:103)\
    \  at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.describe(HeteroDescribableConfigurator.java:51)\
    \  at io.jenkins.plugins.casc.Attribute.describe(Attribute.java:194)  at io.jenkins.plugins.casc.Configurator.describe(Configurator.java:162)"

jdk:
    defaultProperties:
    - installSource:
        installers:
        - jdkInstaller:
            acceptLicense: false
    installations: "FAILED TO EXPORT hudson.model.JDK$DescriptorImpl#installations:\
      \ java.lang.ClassCastException: hudson.util.DescribableList cannot be cast to\
      \ hudson.tools.ToolProperty  at hudson.tools.ToolInstallation.<init>(ToolInstallation.java:105)\
      \  at hudson.model.JDK.<init>(JDK.java:90)\nCaused: java.lang.reflect.InvocationTargetException\
      \  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\
      \  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\
      \  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\
      \  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)  at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.describe(DataBoundConfigurator.java:256)\
      \  at io.jenkins.plugins.casc.Attribute.describe(Attribute.java:194)  at io.jenkins.plugins.casc.Configurator.describe(Configurator.java:162)\
      \  at io.jenkins.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.describe(GlobalConfigurationCategoryConfigurator.java:106)\
      \  at io.jenkins.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.lambda$describe$3(GlobalConfigurationCategoryConfigurator.java:99)\
      \  at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)\
      \  at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)\
      \  at java.util.Iterator.forEachRemaining(Iterator.java:116)  at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)\
      \  at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)\
      \  at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)\
      \  at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)\
      \  at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)\
      \  at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\
      \  at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)\
      \  at io.jenkins.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.describe(GlobalConfigurationCategoryConfigurator.java:99)\
      \  at io.jenkins.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.describe(GlobalConfigurationCategoryConfigurator.java:30)"

@oleg-nenashev
Copy link
Member Author

1.16 works well

@timja
Copy link
Member

timja commented May 31, 2019

Can you try master @oleg-nenashev it should be fixed but unreleased

@timja
Copy link
Member

timja commented Jun 1, 2019

Fixed in 1.18

@timja timja closed this as completed Jun 1, 2019
@timja timja mentioned this issue Jun 1, 2019
4 tasks
@timja
Copy link
Member

timja commented Jun 1, 2019

Looks still broken, should be fixed in #905

@timja timja reopened this Jun 1, 2019
@timja timja closed this as completed in #905 Jun 1, 2019
@timja timja removed the bug label Oct 3, 2024
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

Successfully merging a pull request may close this issue.

2 participants