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

Plugins can't communicate properly if they are located in different sidecars #19686

Closed
23 tasks
vinokurig opened this issue Apr 27, 2021 · 7 comments
Closed
23 tasks
Assignees
Labels
area/plugins kind/bug Outline of a bug - must adhere to the bug report template. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. severity/P1 Has a major impact to usage or development of the system.

Comments

@vinokurig
Copy link
Contributor

vinokurig commented Apr 27, 2021

Describe the bug

If two plugins are located in different sidecars and one plugin has exposed API with function, the other plugin freezes when it calls the function. If the plugins are located in one sidecar, everything is OK.

Che version

  • latest
  • nightly
  • other: please specify

Steps to reproduce

Start a workspace from this devfile:

apiVersion: 1.0.0
metadata:
  name: wksp-5mj7l
components:
  - type: chePlugin
    reference: 'https://gist.github.com/vinokurig/739a13b8f4829ed8f9074c1300e34f8e/raw/db739826c2ce7b8435abfc227bcf862e85739906/master.yaml'
    alias: master-extension
  - type: chePlugin
    reference: 'https://gist.github.com/vinokurig/5494e7505c8d6cc55cb7c245f7b100f1/raw/f9f303786c38570dd9593417def59d187bddf57e/slave.yaml'
  1. Execute Test Command from the command palette.

This devfile represents two sidecars with two plugins. One plugin has exposed function onFunction: () => void, and another plugin calls this function.

Expected behavior

A notification must appear after execution of the plugin API.
This works if the plugins are located in a common sidecar:

apiVersion: v2
publisher: ivinokur
name: master-extension
version: latest
type: Theia plugin
displayName: Master
title: Master extension
description: 'Master extension'
icon: /v3/images/redhat-java-icon.png
category: Programming Languages
repository: 'https://github.com/redhat-developer/vscode-java'
firstPublicationDate: '2021-02-11'
latestUpdateDate: '2021-04-22'
spec:
  containers:
    - image: 'quay.io/eclipse/che-plugin-sidecar@sha256:974dd0a5ab7e075d7d344af2e8e2a2f80a069e8a5a4c9ffc2a57e421b62aa17a'
      name: theia-master
  extensions:
    - 'https://github.com/vinokurig/master-extension/releases/download/0.0.1/master_extension.theia'
    - 'https://github.com/vinokurig/slave-extension/releases/download/0.0.1/slave_extension.theia'

Runtime

  • kubernetes (include output of kubectl version)
  • Openshift (include output of oc version)
  • minikube (include output of minikube version and kubectl version)
  • minishift (include output of minishift version and oc version)
  • docker-desktop + K8S (include output of docker version and kubectl version)
  • other: (please specify)

Screenshots

Installation method

  • chectl
    • provide a full command that was used to deploy Eclipse Che (including the output)
    • provide an output of chectl version command
  • OperatorHub
  • I don't know

Environment

  • my computer
    • Windows
    • Linux
    • macOS
  • Cloud
    • Amazon
    • Azure
    • GCE
    • other (please specify)
  • Dev Sandbox (workspaces.openshift.com)
  • other: please specify

Eclipse Che Logs

Additional context

@vinokurig vinokurig added kind/bug Outline of a bug - must adhere to the bug report template. area/plugins labels Apr 27, 2021
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Apr 27, 2021
@vinokurig
Copy link
Contributor Author

@benoitf Any ideas?

@skabashnyuk skabashnyuk added severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Apr 27, 2021
@ericwill ericwill added this to the 7.31 milestone Apr 27, 2021
@tsmaeder
Copy link
Contributor

One plugin has exposed function onFunction: () => void

can you share the source for the plugins?

@vinokurig
Copy link
Contributor Author

@tsmaeder

can you share the source for the plugins?

The plugin which has API: https://github.com/vinokurig/master-extension
The plugin which calls the API: https://github.com/vinokurig/slave-extension

@tsmaeder
Copy link
Contributor

@vinokurig you mentioned this problem being due to a bug in the deasync package. Do you have a link and could you explain what the problem is?

@benoitf
Copy link
Contributor

benoitf commented May 21, 2021

Ihor mentioned this issue in the PR: abbr/deasync#140

@ericwill ericwill removed this from the 7.31 milestone Jun 4, 2021
@ericwill ericwill mentioned this issue Jun 10, 2021
30 tasks
@ericwill ericwill added this to the 7.33 milestone Jun 16, 2021
@ericwill ericwill mentioned this issue Jun 30, 2021
22 tasks
@che-bot
Copy link
Contributor

che-bot commented Jan 4, 2022

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 4, 2022
@tsmaeder tsmaeder added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/plugins kind/bug Outline of a bug - must adhere to the bug report template. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants