jenkinsci / publish-over-ssh-plugin

https://plugins.jenkins.io/publish-over-ssh/
117 stars 150 forks source link

Plugin loading page recursively and eventually crashing browser #339

Closed fletch3555 closed 5 months ago

fletch3555 commented 9 months ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.426.3 OS: Linux - 4.15.0-220-generic Java: 11.0.22 - Amazon.com Inc. (OpenJDK 64-Bit Server VM) --- Office-365-Connector:4.13.2 active-directory:2.31 analysis-model-api:11.13.0 ant:1.11 antisamy-markup-formatter:159.v25b_c67cd35fb_ apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 audit-trail:3.10 authentication-tokens:1.4 avatar:1.2 bootstrap5-api:5.3.2-2 bouncycastle-api:2.28 branch-api:2.1122.v09cb_8ea_8a_724 build-token-root:1.7 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.0.2 cloudbees-folder:6.848.ve3b_fd7839a_81 command-launcher:100.v2f6722292ee8 commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.10.0-78.v3e7b_ea_d5a_fe1 compact-columns:1.12 config-file-provider:953.v0432a_802e4d2 configure-job-column-plugin:1.0 console-column-plugin:1.5 console-tail:1.1 copyartifact:1.46 credentials:1309.v8835d63eb_d8a_ credentials-binding:642.v737c34dea_6c2 cron_column:1.4 cvs:2.19.1 dashboard-view:2.495.v07e81500c3f2 data-tables-api:1.13.6-5 display-url-api:2.200.vb_9327d658781 docker-commons:1.18 docker-workflow:1.26 durable-task:501.ve5d4fc08b0be echarts-api:5.4.3-2 extended-read-permission:3.2 external-monitor-job:207.v98a_a_37a_85525 file-operations:1.11 font-awesome-api:6.4.2-1 forensics-api:2.3.0 git:5.2.1 git-client:4.5.0 git-parameter:0.9.19 git-server:114.v068a_c7cc2574 gradle:1.36 h2-api:1.4.199 instance-identity:173.va_37c494ec4e5 instant-messaging:1.42 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.15.3-372.v309620682326 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:243.vb_b_503b_b_45537 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.9-1 jdk-tool:66.vd8fa_64ee91b_d jersey2-api:2.41-133.va_03323b_a_1396 jquery:1.12.4-1 jquery3-api:3.7.1-1 jsch:0.2.8-65.v052c39de79b_2 junit:1256.v002534a_5f33e ldap:682.v7b_544c9d1512 linenumbers:1.2 lockable-resources:2.12 mailer:463.vedf8358e006b_ mapdb-api:1.0.9.0 matrix-auth:3.1.8 matrix-project:822.824.v14451b_c0fd42 maven-plugin:3.23 mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_ mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_ momentjs:1.1.1 notification:1.14 pam-auth:1.6 pipeline-build-step:505.v5f0844d8d126 pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-groovy-lib:613.v9c41a_160233f pipeline-input-step:456.vd8a_957db_5b_e9 pipeline-maven:1331.v003efa_fd6e81 pipeline-model-api:1.8.4 pipeline-model-declarative-agent:1.1.1 pipeline-model-definition:1.8.4 pipeline-model-extensions:1.8.4 pipeline-multibranch-defaults:2.1 pipeline-rest-api:2.27 pipeline-stage-step:296.v5f6908f017a_5 pipeline-stage-tags-metadata:1.8.4 pipeline-stage-view:2.27 plain-credentials:143.v1b_df8b_d3b_e48 plugin-usage-plugin:1.2 plugin-util-api:3.6.0 prism-api:1.29.0-8 progress-bar-column-plugin:1.0 project-stats-plugin:0.4 publish-over:0.22 publish-over-ssh:1.24 release:2.11 resource-disposer:0.16 role-strategy:587.588.v850a_20a_30162 sbt:1.5 scala-junit-name-decoder:1.0 scm-api:676.v886669a_199a_a_ script-security:1313.v7a_6067dc7087 snakeyaml-api:2.2-111.vc6598e30cc65 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:1.31.5 sshd:3.303.vefc7119b_ec23 structs:325.vcb_307d2a_2782 thinBackup:1.10 token-macro:384.vf35b_f26814ec trilead-api:2.84.v72119de229b_7 uno-choice:2.6.4 upload-artifacts-to-nexus:1.1 variant:59.vf075fe829ccb workflow-api:1283.v99c10937efcb_ workflow-basic-steps:2.23 workflow-cps:3806.va_3a_6988277b_2 workflow-cps-global-lib:588.v576c103a_ff86 workflow-durable-task-step:1210.va_1e5d77e122b workflow-job:1308.v58d48a_763b_31 workflow-multibranch:756.v891d88f2cd46 workflow-scm-step:415.v434365564324 workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:865.v43e78cc44e0d ws-cleanup:0.39 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Linux (Ubuntu 18.04 LTS). All running on a single host.

Reproduction steps

  1. Open configuration page for job making use of publish-over-ssh plugin
  2. Scroll down to "Transfers" section
  3. Observe issue.

Expected Results

Page doesn't load recursively

Actual Results

Any job using the Publish-Over-SSH plugin will recursively load the current page inside the "validation-error-area" div for the "Source Files" field of each "Transfer Set". Screenshot_1 Screenshot_2

Anything else?

We're well-aware that several of our plugins are terribly out of date, and several others are deprecated or otherwise no longer supported. Unfortunately, we don't have a great path forward on that short of moving off of jenkins entirely, which would be a much larger effort.

We did not run any plugin or system updates immediately prior to this issue occurring, nor did we change any job configuration. Given the wide-spread nature of this issue (any job using the plugin), we believe it to be unrelated to the job configuration at all.

I saw nothing that appeared relevant in the jenkins system logs, but the browser console does show several warnings including one that seems to be looking for jquery ($ is not a function) image

Jobs continue to run perfectly fine, but we're simply unable to change their configuration.

Are you interested in contributing a fix?

I'm open to it, but wouldn't know where to start.

fletch3555 commented 9 months ago

I just uninstalled all disabled plugins and confirmed problem still occurs. Environment details above have been updated to reflect this.

yyj-me commented 9 months ago

I just uninstalled all disabled plugins and confirmed problem still occurs. Environment details above have been updated to reflect this.

+1

ftakanashi commented 6 months ago

Any solution yet? The problem still exists :)

fletch3555 commented 6 months ago

@ftakanashi you have the same problem? I haven't found a solution yet, but I'm curious what similarities/differences our environments have

ftakanashi commented 6 months ago

@ftakanashi you have the same problem? I haven't found a solution yet, but I'm curious what similarities/differences our environments have

My environment is something like this:

Jenkins version: 2.426.3
OS: Debian11
Java: openjdk version "11.0.15"

(Actually, my instance is deployed via official jenkins docker image of 2.346.1 and I updated the .war file to 2.426.3

And plugins with versions:

ace-editor: 1.1
ant: 475.vf34069fef73c
antisamy-markup-formatter: 159.v25b_c67cd35fb_
apache-httpcomponents-client-4-api: 4.5.14-150.v7a_b_9d17134a_5
authentication-tokens: 1.4
blueocean-autofavorite: 1.2.5
blueocean-bitbucket-pipeline: 1.25.8
blueocean-commons: 1.26.0
blueocean-config: 1.25.8
blueocean-core-js: 1.26.0
blueocean-dashboard: 1.26.0
blueocean-display-url: 2.4.1
blueocean-events: 1.25.8
blueocean-git-pipeline: 1.26.0
blueocean-github-pipeline: 1.25.8
blueocean-i18n: 1.25.8
blueocean-jwt: 1.26.0
blueocean-personalization: 1.26.0
blueocean-pipeline-api-impl: 1.26.0
blueocean-pipeline-editor: 1.25.8
blueocean-pipeline-scm-api: 1.26.0
blueocean-rest-impl: 1.26.0
blueocean-rest: 1.26.0
blueocean-web: 1.26.0
blueocean: 1.25.8
bootstrap5-api: 5.3.0-1
bouncycastle-api: 2.28
branch-api: 2.1046.v0ca_37783ecc5
build-timeout: 1.24
caffeine-api: 2.9.3-65.v6a_47d0f4d1fe
checks-api: 2.0.0
cloudbees-bitbucket-branch-source: 791.vb_eea_a_476405b
cloudbees-folder: 6.858.v898218f3609d
command-launcher: 100.v2f6722292ee8
commons-lang3-api: 3.12.0-36.vd97de6465d5b_
commons-text-api: 1.10.0-36.vc008c8fcda_7b_
config-file-provider: 3.11.1
credentials-binding: 523.vd859a_4b_122e6
credentials: 1319.v7eb_51b_3a_c97b_
display-url-api: 2.3.7
docker-commons: 1.21
docker-workflow: 563.vd5d2e5c4007f
durable-task: 503.v57154d18d478
echarts-api: 5.4.0-5
email-ext: 2.89
favorite: 2.4.1
font-awesome-api: 6.4.0-1
git-client: 3.11.0
git: 4.12.1
github-api: 1.303-400.v35c2d8258028
github-branch-source: 1656.v77eddb_b_e95df
github: 1.34.4
gradle: 1.39.3
groovy: 453.vcdb_a_c5c99890
handlebars: 3.0.8
handy-uri-templates-2-api: 2.1.8-22.v77d5b_75e6953
htmlpublisher: 1.31
instance-identity: 173.va_37c494ec4e5
ionicons-api: 56.v1b_1c8c49374e
jackson2-api: 2.15.2-350.v0c2f3f8fc595
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.8-1
jdk-tool: 66.vd8fa_64ee91b_d
jenkins-design-language: 1.26.0
jjwt-api: 0.11.5-77.v646c772fddb_0
jquery3-api: 3.7.0-1
jsch: 0.1.55.2
junit: 1207.va_09d5100410f
ldap: 2.10
localization-support: 1.2
localization-zh-cn: 1.0.24
lockable-resources: 2.18
mailer: 457.v3f72cb_e015e5
mapdb-api: 1.0.9-28.vf251ce40855d
matrix-auth: 3.1.8
matrix-project: 789.v57a_725b_63c79
mina-sshd-api-common: 2.10.0-69.v28e3e36d18eb_
mina-sshd-api-core: 2.10.0-69.v28e3e36d18eb_
momentjs: 1.1.1
oic-auth: 1.8
okhttp-api: 4.9.3-105.vb96869f8ac3a
pam-auth: 1.8
pipeline-build-step: 2.18
pipeline-github-lib: 38.v445716ea_edda_
pipeline-graph-analysis: 195.v5812d95a_a_2f9
pipeline-groovy-lib: 613.v9c41a_160233f
pipeline-input-step: 449.v77f0e8b_845c4
pipeline-milestone-step: 101.vd572fef9d926
pipeline-model-api: 2.2118.v31fd5b_9944b_5
pipeline-model-definition: 2.2118.v31fd5b_9944b_5
pipeline-model-extensions: 2.2118.v31fd5b_9944b_5
pipeline-rest-api: 2.24
pipeline-stage-step: 293.v200037eefcd5
pipeline-stage-tags-metadata: 2.2118.v31fd5b_9944b_5
pipeline-stage-view: 2.24
plain-credentials: 139.ved2b_9cf7587b
plugin-util-api: 3.3.0
popper2-api: 2.11.5-2
publish-over-ssh: 1.24
publish-over: 0.22
pubsub-light: 1.16
python: 1.3
resource-disposer: 0.19
role-strategy: 530.ved5445d4875a_
scm-api: 672.v64378a_b_20c60
script-security: 1251.vfe552ed55f8d
snakeyaml-api: 2.2-111.vc6598e30cc65
sse-gateway: 1.25
ssh-credentials: 308.ve4497b_ccd8f4
ssh-slaves: 1.821.vd834f8a_c390e
sshd: 3.303.vefc7119b_ec23
structs: 337.v1b_04ea_4df7c8
subversion: 2.16.0
timestamper: 1.18
token-macro: 321.vd7cc1f2a_52c8
trilead-api: 2.84.v72119de229b_7
variant: 59.vf075fe829ccb
workflow-aggregator: 590.v6a_d052e5a_a_b_5
workflow-api: 1213.v646def1087f9
workflow-basic-steps: 994.vd57e3ca_46d24
workflow-cps: 2803.v1a_f77ffcc773
workflow-durable-task-step: 1217.v38306d8fa_b_5c
workflow-job: 1189.va_d37a_e9e4eda_
workflow-multibranch: 716.vc692a_e52371b_
workflow-scm-step: 400.v6b_89a_1317c9a_
workflow-step-api: 639.v6eca_cd8c04a_a_
workflow-support: 839.v35e2736cfd5c
ws-cleanup: 0.42

Update: Looks like updating the plugin to 1.25 may solve the problem. I've done following things and found the recursive page disappeared.

disable publish-over-ssh (which is 1.24 now) -> restart Jenkins -> update it to 1.25 -> restart Jenkins -> enable it

fletch3555 commented 5 months ago

@ftakanashi, I just saw your update. I'll be trying that tomorrow. Thanks for the tip!

Edit, just pulled the trigger and it works!! Thank you so much for the suggestion. I didn't even see the update in the list before now