Exception thrown when clicking create "New credentials" Kind "Username with password"

I am running Jenkins on an ubuntu 22.04 server behind an nginx proxy server running on a different server. When creating “New credentials”, Kind:“Username with password” directly from the server on which Jenkins is running, everything works fine. When I try through the reverse proxy, uncaught java exceptions are thrown. Any insight or help would be great.

Thanks.

================================================
Jenkins setup:
Jenkins: 2.426.2
OS: Linux - 5.15.0-91-generic
Java: 17.0.9 - Private Build (OpenJDK 64-Bit Server VM)

ant:497.v94e7d9fffa_b_9
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
bootstrap5-api:5.3.2-3
bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9
branch-api:2.1144.v1425d1c3d5a_7
build-timeout:1.32
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.0.2
cloudbees-folder:6.858.v898218f3609d
commons-lang3-api:3.13.0-62.v7d18e55f51e2
commons-text-api:1.11.0-95.v22a_d30ee5d36
credentials:1311.vcf0a_900b_37c2
credentials-binding:642.v737c34dea_6c2
display-url-api:2.200.vb_9327d658781
durable-task:543.v262f6a_803410
echarts-api:5.4.3-2
email-ext:2.104
font-awesome-api:6.5.1-1
git:5.2.1
git-client:4.6.0
github:1.37.3.1
github-api:1.318-461.v7a_c09c9fa_d63
github-branch-source:1772.va_69eda_d018d4
gradle:2.9
gson-api:2.10.1-15.v0d99f670e0a_7
instance-identity:185.v303dc7c645f9
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.16.1-373.ve709c6871598
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.9-1
jjwt-api:0.11.5-77.v646c772fddb_0
jquery3-api:3.7.1-1
json-path-api:2.8.0-21.v8b_7dc8b_1037b_
junit:1256.v002534a_5f33e
ldap:711.vb_d1a_491714dc
mailer:463.vedf8358e006b_
matrix-auth:3.2.1
matrix-project:822.v01b_8c85d16d2
mina-sshd-api-common:2.11.0-86.v836f585d47fa_
mina-sshd-api-core:2.11.0-86.v836f585d47fa_
okhttp-api:4.11.0-157.v6852a_a_fa_ec11
pam-auth:1.10
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:202.va_d268e64deb_3
pipeline-groovy-lib:700.v0e341fa_57d53
pipeline-input-step:477.v339683a_8d55e
pipeline-milestone-step:111.v449306f708b_7
pipeline-model-api:2.2168.vf921b_4e72c73
pipeline-model-definition:2.2168.vf921b_4e72c73
pipeline-model-extensions:2.2168.vf921b_4e72c73
pipeline-rest-api:2.34
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2168.vf921b_4e72c73
pipeline-stage-view:2.34
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.8.0
resource-disposer:0.23
scm-api:683.vb_16722fb_b_80b_
script-security:1313.v7a_6067dc7087
snakeyaml-api:2.2-111.vc6598e30cc65
ssh-credentials:308.ve4497b_ccd8f4
ssh-slaves:2.948.vb_8050d697fec
structs:337.v1b_04ea_4df7c8
timestamper:1.26
token-macro:400.v35420b_922dcb_
trilead-api:2.133.vfb_8a_7b_9c5dd1
variant:60.v7290fc0eb_b_cd
workflow-aggregator:596.v8c21c963d92d
workflow-api:1283.v99c10937efcb_
workflow-basic-steps:1042.ve7b_140c4a_e0c
workflow-cps:3837.v305192405b_c0
workflow-durable-task-step:1313.vcb_970b_d2a_fb_3
workflow-job:1385.vb_58b_86ea_fff1
workflow-multibranch:773.vc4fe1378f1d5
workflow-scm-step:415.v434365564324
workflow-step-api:657.v03b_e8115821b_
workflow-support:865.v43e78cc44e0d
ws-cleanup:0.45

================================================
Exceptions thrown:

Jan 20 00:42:57 jenkins-server jenkins[39652]: 2024-01-20 00:42:57.985+0000 [id=265] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving https://somesubdomain.com/manage/credentials/store/system/domain/_/createCredentials
Jan 20 00:42:57 jenkins-server jenkins[39652]: java.lang.IllegalArgumentException: The frontend sent an unexpected list of classes ([“com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl”,“org.jenkinsci.plugins.github_branch_source.GitHubAppCredentials”,“com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey”,“org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl”,“org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl”,“com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl”]) rather than an expected single class. See Table to div layout migration for more information.
Jan 20 00:42:57 jenkins-server jenkins[39652]: at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:750)
Jan 20 00:42:57 jenkins-server jenkins[39652]: Caused: java.lang.IllegalArgumentException: Failed to instantiate interface com.cloudbees.plugins.credentials.Credentials from {“stapler-class”:[“com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl”,“org.jenkinsci.plugins.github_branch_source.GitHubAppCredentials”,“com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey”,“org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl”,“org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl”,“com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl”],“$class”:[“com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl”,“org.jenkinsci.plugins.github_branch_source.GitHubAppCredentials”,“com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey”,“org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl”,“org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl”,“com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl”]}

I am also having the exact problem when running behind nginx as a reverse proxy, i tried two different ubuntu servers and it seems like a configuration issue because it works perfectly fine on one server and shows the error that you posted on the other.

I tried to investigate further and saw this message in the console window of the browser which seems like a javascript bug?

Basically what should happen is, jenkins should show us a form like UI, something like this

But when it tries to load this dynamic UI, that javascript error appears in the browser window.

Be sure that you’ve configured your reverse proxy according to the directions in the Jenkins documentation. Check every line of configuration.

The message, “The frontend sent an unexpected list of classes” , is usually associated with one or more installed plugins that have not been updated for the Jenkins 2.277 configuration form modernization. Detailed instructions are available in another community.jenkins.io page.

1 Like

Hey,

I did a clean installation of jenkins and followed the reverse proxy instruction. I confirm that it’s working now.

Thanks!