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

Error on startup with config manager enabled ZWEL0029E start component list is empty #3178

Closed
pablocarle opened this issue Nov 30, 2022 · 22 comments
Labels
bug Something isn't working Config Manager Related to the config manager component launcher

Comments

@pablocarle
Copy link
Contributor

Describe the bug
Originally reported in https://openmainframeproject.slack.com/archives/CBW5ET69G/p1666795006249039
Opening for tracing of the error and not to miss the information when it's notavailable in Slack anymore.

Zowe fails to start with error:

2022-10-26 14:11:09 <ZWELNCH:16909424> ZWESVUSR ERROR ZWEL0029E start component list is empty

While attempting to run the command from the shell we get:

zwe internal get-launch-components --config "FILE(/z/zwesvusr/api-layer-perf/zowe-v2.4.0/zowe.yaml)"
Could not load module name '/z/zwesvusr/api-layer-perf/zowe-v2.4.0/runtime/bin/commands/internal/get-launch-components/index'
ReferenceError: �@�@�}l�

To Reproduce
We don't know what is generating this issue but the same configuration is working well in 2.3.1

  • Version Zowe 2.4.0 and newer (testing with nightly build)

Additional context

List of files with attributes in configmanager scripts:

$ ls -lT get-launch-components
total 48
- untagged    T=off -rw-r--r--   1 ZWESVUSR  OMVSDFG      364 Nov 29 02:20 cli.js
- untagged    T=off -rw-r--r--   1 ZWESVUSR  OMVSDFG      749 Nov 29 02:20 index.js
- untagged    T=off -rw-r--r--   1 ZWESVUSR  OMVSDFG      895 Nov 29 02:20 index.sh
$ ls -lT start/prepare
total 128
- untagged    T=off -rw-r--r--   1 ZWESVUSR  OMVSDFG      364 Nov 29 02:20 cli.js
- untagged    T=off -rw-r--r--   1 ZWESVUSR  OMVSDFG    24992 Nov 29 02:20 index.js
- untagged    T=off -rw-r--r--   1 ZWESVUSR  OMVSDFG    20222 Nov 29 02:20 index.sh

Zowe.yaml we are currently using:

# This is Zowe configuration file that runs only Gateway, Discovery Service and ZSS.
# It uses automatically generated certificates.
# It is used for IDT performance testing but feel free to reuse if you need the same functionality.

# This program and the accompanying materials are made available under the terms of the
# Eclipse Public License v2.0 which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-v20.html
#
# SPDX-License-Identifier: EPL-2.0
#
# Copyright Contributors to the Zowe Project.

#===============================================================================
# This is a YAML configuration file for Zowe instance.
#
# YAML is a human-friendly data serialization language for all programming languages.
# To learn more about YAML specifications, please check https://yaml.org/.
#
# To learn more details about the entries, please check https://docs.zowe.org/.
#
# For first time users, or for the most common use cases, please pay more
# attention on the entries marked with "**COMMONLY_CUSTOMIZED**".
#
# If you modify any settings listed in "zwe init --help" command, you may need to
# re-run "zwe init" command to make them take effect.
#===============================================================================

#-------------------------------------------------------------------------------
# Zowe global configurations
#
# This section includes Zowe setup information used by `zwe install` and
# `zwe init` command, as well as default configurations for Zowe runtime.
#-------------------------------------------------------------------------------
zowe:

  #-------------------------------------------------------------------------------
  # These configurations are used by "zwe install" or "zwe init" commands.
  #-------------------------------------------------------------------------------
  setup:
    # MVS data set related configurations
    dataset:
      # **COMMONLY_CUSTOMIZED**
      # where Zowe MVS data sets will be installed
      prefix: ZWESVUSR.LPL.PERF.APIML
      # **COMMONLY_CUSTOMIZED**
      # PROCLIB where Zowe STCs will be copied over
      proclib: USER.PLEXB1.PROCLIB
      # **COMMONLY_CUSTOMIZED**
      # Zowe PARMLIB
      parmlib: ZWESVUSR.LPL.PERF.APIML.CUST.PARMLIB
      # **COMMONLY_CUSTOMIZED**
      # JCL library where Zowe will store temporary JCLs during initialization
      jcllib: ZWESVUSR.LPL.PERF.APIML.CUST.JCLLIB
      # APF authorized LOADLIB for Zowe
      # Optional. If it's empty, <prefix>.SZWEAUTH will be APF authorized.
      authLoadlib: ""
      # **COMMONLY_CUSTOMIZED**
      # APF authorized LOADLIB for Zowe ZIS Plugins
      authPluginLib: ZWESVUSR.LPL.PERF.APIML.CUST.ZWESAPL

    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    # # Security related configurations. This setup is optional.
    security:
    #   # security product name. Can be RACF, ACF2 or TSS
    #   product: RACF
    #   # security group name
    #   groups:
    #     # Zowe admin user group
    #     admin: ZWEADMIN
    #     # Zowe STC group
    #     stc: ZWEADMIN
    #     # Zowe SysProg group
    #     sysProg: ZWEADMIN
    #   # security user name
    #   users:
    #     # Zowe runtime user name of main service
    #     zowe: ZWESVUSR
    #     # Zowe runtime user name of ZIS
    #     zis: ZWESIUSR
    #   # STC names
      stcs:
        # STC name of Zowe main service
        zowe: ZWEPAML
        # STC name of Zowe ZIS
        zis: SDKZWEXM
        # STC name of Zowe ZIS Auxiliary Server
        aux: ZWEPAMLA

    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    # Certificate related configurations
    #
    # There are 5 configurations cases. Please choose one from below.

    # >>>> Certificate setup scenario 1
    # PKCS12 (keystore) with Zowe generate certificates.
    certificate:
      # Type of certificate storage. Valid values are: PKCS12 or JCERACFKS
      type: PKCS12
      pkcs12:
        # **COMMONLY_CUSTOMIZED**
        # Keystore directory
        directory: /z/zwesvusr/api-layer-perf/zowe-keystore
        # # Lock the keystore directory to only accessible by Zowe runtime user and group.
        # lock: true
        # **COMMONLY_CUSTOMIZED**
        # # Certificate alias name. Optional, default value is localhost.
        # # Note: please use all lower cases as alias.
        # name: localhost
        # **COMMONLY_CUSTOMIZED**
        # # Keystore password. Optional, default value is password.
        # password: password
        # **COMMONLY_CUSTOMIZED**
        # # Alias name of self-signed certificate authority. Optional, default value is local_ca.
        # # Note: please use all lower cases as alias.
        # caAlias: local_ca
        # **COMMONLY_CUSTOMIZED**
        # # Password of keystore stored self-signed certificate authority. Optional, default value is local_ca_password.
        # caPassword: local_ca_password
      # # Distinguished name for Zowe generated certificates. All optional.
      # dname:
      #   caCommonName: ""
      #   commonName: ""
      #   orgUnit: ""
      #   org: ""
      #   locality: ""
      #   state: ""
      #   country: ""
      # # Validity days for Zowe generated certificates
      # validity: 3650
      # # Domain names and IPs should be added into certificate SAN
      # # If this field is not defined, `zwe init` command will use
      # # `zowe.externalDomains`.
      # san:
      #   # sample domain name
      #   - dvipa.my-company.com
      #   # sample IP address
      #   - 12.34.56.78

     # >>>> Certificate setup scenario 2
     # PKCS12 (keystore) with importing certificate generated by other CA.
#    certificate:
#      # Type of certificate storage. Valid values are: PKCS12 or JCERACFKS
#      type: PKCS12
#      pkcs12:
#        # **COMMONLY_CUSTOMIZED**
#        # Keystore directory
#        directory: /z/zwesvusr/api-layer-perf/zowe-keystore
#        # Lock the keystore directory to only accessible by Zowe runtime user and group.
#        lock: false
#        # Certificate alias name. Optional, default value is localhost.
#        # Note: please use all lower cases as alias.
#        name: localhost
#        # Keystore password. Optional, default value is password.
#        password: password
#        import:
#          # **COMMONLY_CUSTOMIZED**
#          # Existing PKCS12 keystore which holds the certificate issued by external CA.
#          keystore: /z/zwesvusr/api-layer-perf/zowe-keystore/apiml/apiml.keystore.p12
#          # **COMMONLY_CUSTOMIZED**
#          # Password of the above keystore
#          password: password
#          # **COMMONLY_CUSTOMIZED**
#          # Certificate alias will be imported
#          # Note: please use all lower cases as alias.
#          alias: apiml
#      # **COMMONLY_CUSTOMIZED**
#      # PEM format certificate authorities will also be imported and trusted.
#      importCertificateAuthorities:
#        # Path to the certificate authority signed the certificate will be imported.
#        - /z/zwesvusr/api-layer-perf/zowe-keystore/local_ca/localca.cer

    # # >>>> Certificate setup scenario 3
    # # JCERACFKS (z/OS Keyring) with Zowe generated certificates.
    # certificate:
    #   # Type of certificate storage. Valid values are: PKCS12 or JCERACFKS
    #   type: JCERACFKS
    #   keyring:
    #     # **COMMONLY_CUSTOMIZED**
    #     # keyring name
    #     name: ZoweKeyring
    #     # **COMMONLY_CUSTOMIZED**
    #     # # Label of Zowe certificate. Optional, default value is localhost.
    #     # label: localhost
    #     # **COMMONLY_CUSTOMIZED**
    #     # # label of Zowe CA certificate. Optional, default value is localca.
    #     # caLabel: localca
    #   # # Distinguished name for Zowe generated certificates. All optional.
    #   # dname:
    #   #   caCommonName: ""
    #   #   commonName: ""
    #   #   orgUnit: ""
    #   #   org: ""
    #   #   locality: ""
    #   #   state: ""
    #   #   country: ""
    #   # # Validity days for Zowe generated certificates
    #   # validity: 3650
    #   # # Domain names and IPs should be added into certificate SAN
    #   # # If this field is not defined, `zwe init` command will use
    #   # # `zowe.externalDomains`.
    #   # # **NOTE**: due to the limitation of RACDCERT command, this field should
    #   # #           contain exactly 2 entries with the domain name and IP address.
    #   # san:
    #   #   - dvipa.my-company.com
    #   #   - 12.34.56.78

    # # >>>> Certificate setup scenario 4
    # # JCERACFKS (z/OS Keyring) and connect to existing certificate
    # certificate:
    #   # Type of certificate storage. Valid values are: PKCS12 or JCERACFKS
    #   type: JCERACFKS
    #   keyring:
    #     # **COMMONLY_CUSTOMIZED**
    #     # keyring name
    #     name: ZoweKeyring
    #     connect:
    #       # **COMMONLY_CUSTOMIZED**
    #       # Current owner of the existing certificate, can be SITE or an user ID.
    #       user: IBMUSER
    #       # **COMMONLY_CUSTOMIZED**
    #       # Label of the existing certificate will be connected to Zowe keyring.
    #       label: ""
    #   # **COMMONLY_CUSTOMIZED**
    #   # If you have other certificate authorities want to be trusted in Zowe keyring,
    #   # list the certificate labels here.
    #   # **NOTE**, due to the limitation of RACDCERT command, this field should
    #   #           contain maximum 2 entries.
    #   importCertificateAuthorities:
    #     - ""

    # # >>>> Certificate setup scenario 5
    # # JCERACFKS (z/OS Keyring) with importing certificate stored in data set
    # certificate:
    #   # Type of certificate storage. Valid values are: PKCS12 or JCERACFKS
    #   type: JCERACFKS
    #   keyring:
    #     # **COMMONLY_CUSTOMIZED**
    #     # keyring name
    #     name: ZoweKeyring
    #     # **COMMONLY_CUSTOMIZED**
    #     # # Label of Zowe certificate. Optional, default value is localhost.
    #     # label: localhost
    #     import:
    #       # **COMMONLY_CUSTOMIZED**
    #       # Name of the data set holds the certificate issued by other CA.
    #       # This data set should be in PKCS12 format and contain private key.
    #       dsName: ""
    #       # **COMMONLY_CUSTOMIZED**
    #       # Password for the PKCS12 data set.
    #       password: ""

    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    # VSAM configurations if you are using VSAM as Caching Service storage
    vsam:
      # VSAM data set with Record-Level-Sharing enabled or not
      # Valid values could be: NONRLS or RLS.
      mode: NONRLS
      # Volume name if you are using VSAM in NONRLS mode
      volume: ""
      # Storage class name if you are using VSAM in RLS mode
      storageClass: ""

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # **COMMONLY_CUSTOMIZED**
  # Zowe runtime (root) directory
  #
  # **NOTE**: if it's not specified and you passed "--update-config" argument
  # when you run "zwe init" command, this value will be updated with the Zowe
  # runtime where the "zwe" command is located.
  #
  # This value is required by ZWESLSTC to know where is Zowe runtime.
  runtimeDirectory: /z/zwesvusr/api-layer-perf/zowe-vnightly-v2/runtime

  # **COMMONLY_CUSTOMIZED**
  # Where to store runtime logs
  logDirectory: /z/zwesvusr/api-layer-perf/zowe-vnightly-v2/runtime/instance/logs

  # **COMMONLY_CUSTOMIZED**
  # Zowe runtime workspace directory
  workspaceDirectory: /z/zwesvusr/api-layer-perf/zowe-vnightly-v2/runtime/instance/workspace

  # **COMMONLY_CUSTOMIZED**
  # Where extensions are installed
  extensionDirectory: /z/zwesvusr/api-layer-perf/zowe-vnightly-v2/runtime/extensions

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # runtime z/OS job name
  job:
    # Zowe JES job name
    name: ZWEPAML
    # Prefix of component address space
    prefix: ZWEA

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # This is an ID you use to separate multiple Zowe installs when determining
  # resource names used in RBAC authorization checks such as dataservices with RBAC
  # expects this ID in SAF resources
  rbacProfileIdentifier: "1"

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # This is an ID that can be used by servers that distinguish their cookies from unrelated Zowe installs,
  # for purposes such as to allow multiple copies of Zowe to be used within the same client
  cookieIdentifier: "1"

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # **COMMONLY_CUSTOMIZED**
  # You can list your external domains how you want to access Zowe.
  # This should be the domain list you would like to put into your web browser
  # address bar.
  externalDomains:
    # this should be the domain name to access Zowe APIML Gateway
    - domain.test.net

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # This is the port you use to access Zowe Gateway from your web browser.
  #
  # In many use cases, this should be same as `components.gateway.port`. But in
  # some use cases, like containerization, this port could be different.
  externalPort: 40005

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # You can un-comment and define any extra environment variables as key/value
  # pairs here.
  environments:
    APIML_SECURITY_SAF_URLS_AUTHENTICATE: https://domain.test.net:40005/zss/api/v1/saf/authenticate
  #   # Example of a global environment variable for all components
  #   MY_ENV_VAR: my_env_val

  #   # Another example to customize SSH port for VT Terminal Desktop app
  #   ZWED_SSH_PORT: 22
  #   ZWED_TN3270_PORT: 23

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # Enable debug mode for zowe launch scripts
  launchScript:
    # set to "debug" or "trace" to display extra debug information
    logLevel: "trace"

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # Default Zowe certificate
  #
  # **NOTE**: these fields can be updated automatically if you pass
  # `--update-config` to `zwe init` command. The generated value will base on
  # your setup in `zowe.setup.certificate` section.
  certificate:
    keystore:
      type: PKCS12
      file: /z/zwesvusr/api-layer-perf/zowe-keystore/localhost/localhost.keystore.p12
      password: password
      alias: localhost
    truststore:
      type: PKCS12
      file: /z/zwesvusr/api-layer-perf/zowe-keystore/localhost/localhost.truststore.p12
      password: password
    pem:
      key: /z/zwesvusr/api-layer-perf/zowe-keystore/localhost/localhost.key
      certificate: /z/zwesvusr/api-layer-perf/zowe-keystore/localhost/localhost.cer
      certificateAuthorities: /z/zwesvusr/api-layer-perf/zowe-keystore/local_ca/localca.cer

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # How we want to verify SSL certificates of services. Valid values are:
  # - STRICT:    will validate if the certificate is trusted in our trust store and
  #              if the certificate Command Name and Subject Alternative Name (SAN)
  #              is validate. This is recommended for the best security.
  # - NONSTRICT: will validate if the certificate is trusted in our trust store.
  #              This mode does not validate certificate Common Name and Subject
  #              Alternative Name (SAN).
  # - DISABLED:  disable certificate validation. This is NOT recommended for
  #              security
  verifyCertificates: STRICT


#-------------------------------------------------------------------------------
# Java configuration
#
# Some Zowe components requires Java. Define the path where you have your Java
# is installed.
#
# **NOTE**: this field can be updated automatically if you pass `--update-config`
# to `zwe init` command.
#-------------------------------------------------------------------------------
java:
  # **COMMONLY_CUSTOMIZED**
  # Path to your Java home directory
  home: /sys/java64bt/v8r0m0/usr/lpp/java/J8.0_64


#-------------------------------------------------------------------------------
# node.js configuration
#
# Some Zowe components requires node.js. Define the path where you have your
# node.js is installed.
#
# **NOTE**: this field can be updated automatically if you pass `--update-config`
# to `zwe init` command.
#-------------------------------------------------------------------------------
node:
  # **COMMONLY_CUSTOMIZED**
  # Path to your node.js home directory
  home: /usr/lpp/IBM/cnj/v14r0/IBM/node-latest-os390-s390x


#-------------------------------------------------------------------------------
# z/OSMF configuration
#
# If your Zowe instance is configured to use z/OSMF for authentication or other
# features. You need to define how to access your z/OSMF instance.
#-------------------------------------------------------------------------------
zOSMF:
  # **COMMONLY_CUSTOMIZED**
  # host name of your z/OSMF instance
  host: domain.test.net
  # **COMMONLY_CUSTOMIZED**
  port: 1443
  applId: IZUDFLT


#-------------------------------------------------------------------------------
# Zowe components default configurations
#
# This section includes default configurations for all Zowe components installed
# on the Zowe instance.
#
# Every component should define their own section under `components` with their
# component ID.
#
# For each component, they can always have "enabled" property and "certificate"
# property. More configurations for each component can be found in component
# manifest file.
#-------------------------------------------------------------------------------
components:

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  gateway:
    enabled: true
    port: 40005
    debug: false

    apiml:
      security:
        auth:
          provider: zosmf
          zosmf:
            jwtAutoconfiguration: auto
            serviceId: zosmf
        authorization:
          endpoint:
            enabled: false
          provider: ""
        x509:
          enabled: false
    server:
      maxTotalConnections: 20000
      maxConnectionsPerRoute: 2000
      internal:
      # gateway supports internal connector
        enabled: false
        port: 40005
        ssl:
          enabled: false
          # internal connector can use different certificate
          # certificate:
          #   keystore:
          #     alias: ""

    # If we customize this to use different external certificate, than should also
    # define "server.internal.ssl.certificate" and enable "server.internal.ssl.enabled".
    # certificate:
    #   keystore:
    #     alias: ""

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  metrics-service:
    enabled: false
    port: 7551
    debug: false

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  api-catalog:
    enabled: false
    port: 40007
    debug: false

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  discovery:
    enabled: true
    port: 40006
    debug: false
    # Define this value to match your number of Discovery StatefulSet if you are running containerized Zowe
    # replicas: 1

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  caching-service:
    enabled: false
    port: 40008
    debug: false

    storage:
      evictionStrategy: reject
      # can be inMemory, VSAM
      mode: inMemory
      size: 10000
      vsam:
        # your VSAM data set created by ZWECSVSM job
        # this is required if storage mode is VSAM
        name:

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  app-server:
    enabled: false
    port: 40009
    # we can customize any component with custom certificate
    # the missing definitions will be picked from "zowe.certificate"
    # certificate:
    #   keystore:
    #     alias: app-server
    #   pem:
    #     key: /global/zowe/keystore/localhost/localhost.keystore.app-server.key
    #     certificate: /global/zowe/keystore/localhost/localhost.keystore.app-server.cer-ebcdic

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  zss:
    enabled: true
    port: 40010
    crossMemoryServerName: ZWESIS_LPL
    tls: true

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  jobs-api:
    enabled: false
    port: 40011

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  files-api:
    enabled: false
    port: 40012

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  explorer-jes:
    enabled: false

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  explorer-mvs:
    enabled: false

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  explorer-uss:
    enabled: false

  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  # Each extension can have dedicated definition similar to core components.
  # my-extension:
  #   enabled: true


#-------------------------------------------------------------------------------
# Zowe high availability instances customizations
#
# This section includes customizations for each Zowe high availability instance.
#
# You can start each HA instance with `zwe start --ha-instance <ha-instance>`.
#-------------------------------------------------------------------------------
# haInstances:
#
#   # HA instance ID
#   lpar1:
#     # hostname where this instance will be started
#     hostname: lpar1.my-company.com
#     # Your &SYSNAME for this LPAR
#     # This sysname will be used to route your JES command to target system.
#     sysname: LPR1
#     # for this HA instance, we didn't customize "components", so it will use default value.

#   # HA instance ID, we will start 2 instances on LPAR2
#   # **NOTE**, we can only start one gateway in same LPAR.
#   lpar2a:
#     # hostname where this instance will be started
#     hostname: lpar2.my-company.com
#     # Your &SYSNAME for this LPAR
#     # This sysname will be used to route your JES command to target system.
#     sysname: LPR2

#     # These configurations will overwrite highest level default "components" configuration
#     components:
#       discovery:
#         # use customized port on this instance
#         port: 17553
#       api-catalog:
#         port: 17552
#       app-server:
#         # no app-server in this instance
#         enabled: false
#       zss:
#         # no app-server in this instance
#         enabled: false
#       jobs-api:
#         port: 18545
#         enabled: true
#       files-api:
#         port: 18547
#         enabled: true
#       caching-service:
#         port: 17555
#
#   lpar2b:
#     hostname: lpar2.my-company.com
#     # your &SYSNAME for this LPAR
#     sysname: LPR2

#     # These configurations will overwrite highest level default "components" configuration
#     components:
#       gateway:
#         enabled: false
#       discovery:
#         enabled: false
#       api-catalog:
#         enabled: false
#       app-server:
#         enabled: false
#         port: 28544
#       zss:
#         port: 28542
#       jobs-api:
#         enabled: true
#       files-api:
#         enabled: false
#       caching-service:
#         enabled: false
@MarkAckert MarkAckert added Config Manager Related to the config manager component launcher bug Something isn't working labels Dec 8, 2022
@ghost
Copy link

ghost commented Dec 9, 2022

I faced a similar issue while installing zowe v 2.4

@eortega-kyndryl
Copy link

getting similar error:

zwe internal get-launch-components --config "FILE(/global/zowe/zowe.yaml)"
InternalError: bytecode buffer overflow (op=232, pc=7)

starting main task issues ZWEL0029E

@JoeNemo
Copy link
Contributor

JoeNemo commented Dec 19, 2022

Mohit, if you think you can reproduce this and it is the same as what Pablo originally saw, I would like to have a meeting with you to look at evidence. Neither Sean nor I have seen anything like this, and it's probably environmental in some subtle way.

@JoeNemo
Copy link
Contributor

JoeNemo commented Dec 19, 2022

EIOrtaga, this might not the be same bug as what Pablo first reported. However, I can tell that it is coming from the embedding javascript support in the Zowe config manager. And if you can reproduce it, we can probably narrow this down with some tracing. It is unlike most bugs in this component, which usually produce a stack trace of which javascript functions are being called at the point of failure.

@GilPen
Copy link

GilPen commented Dec 21, 2022

getting similar error:

zwe internal get-launch-components --config "FILE(/global/zowe/zowe.yaml)"
InternalError: bytecode buffer overflow (op=232, pc=7)

starting main task issues ZWEL0029E

@1000TurquoisePogs
Copy link
Member

1000TurquoisePogs commented Dec 22, 2022

@eortega-kyndryl @GilPen Your 29E does not appear related to the original issue ticket. But can you share this yaml with me and/or would you be willing to try a testing build? Unfortunately this error does not give us enough information to fix or suggest a workaround yet, so we need to either get more tracing info or be able to reproduce it in a way we can discover the problem.

If you'd like to share this additional info, it's best to email me. You can find me at [email protected]

@GilPen
Copy link

GilPen commented Jan 4, 2023

Hello

An email has been sent to your mailbox. Thank you for your help.

Regards
Gilles

@1000TurquoisePogs
Copy link
Member

I emailed both GilPen and eortega-kyndryl on the latest update.
I had to spend a bit of time on this because the error came from a library Zowe uses so I was investigating how to increase details within that library. There was no setting to do that, so I enhanced that library to add new messages resulting in the new build https://zowe.jfrog.io/zowe/libs-snapshot-local/org/zowe/2.6.0-PR-3211/zowe-2.6.0-pr-3211-2566-20230109211952.pax which is best tested with the zowe.yaml file edited such that this line is set to "trace" instead of "info" for maximum output. https://github.com/zowe/zowe-install-packaging/blob/v2.x/master/example-zowe.yaml#L356

The build comes from the PR #3211 which includes JoeNemo/quickjs-portable#2

@pablocarle
Copy link
Contributor Author

@1000TurquoisePogs I haven't tested the custom build yet, but I tried the same configuration on the latest nightly and the error has disappeared.

@rudatp
Copy link

rudatp commented Jan 15, 2023

I tested the new build 2.6.0 and I still get the same error:
2023-01-15 10:49:58 ZWELNCH:16844475 STCZOWEV INFO ZWEL0058I WORKSPACE_DIR is ...
InternalError: invalid opcode (op=0, pc=0)
2023-01-15 10:49:59 ZWELNCH:16844475 STCZOWEV INFO ZWEL0018I Zowe instance prepared successfully
2023-01-15 10:50:01 ZWELNCH:16844475 STCZOWEV ERROR ZWEL0029E start component list is empty

@Corzzab
Copy link

Corzzab commented Jan 17, 2023

Hello I've been following this tread for some time now. 2.2 is the only version that works for me. From 2.3 - 2.6 I get
ZWEL0029E start component list is empty.

@1000TurquoisePogs
Copy link
Member

@rudatp and @Corzzab please try the build in my above comment. it adds information which we need to assist, because the output you both are providing does not say enough to diagnose the cause.

@Corzzab
Copy link

Corzzab commented Jan 21, 2023

@1000TurquoisePogs I did try the new version 2.6 with the "Trace" parameter. Still does not want to start. I have sent you an email with my YAML and STC output.

@rudatp
Copy link

rudatp commented Jan 22, 2023

The trace parameter is set, but it doesn't produce any tracing output. I will also send you the yaml and the joblog.

@GilPen
Copy link

GilPen commented Feb 13, 2023

Hello,

Is there any news about this bug ?

Regards
Gilles Peniguel

@rudatp
Copy link

rudatp commented Feb 16, 2023

I did some more testing with 2.6.0 build, the error with empty component list is gone with useConfigmgr set to false.

@rudatp
Copy link

rudatp commented Feb 17, 2023

Tried to start ZOWE with Config Manager set to true via USS script "zwe start" (not as usual with MVS start command).
Then I get: InternalError: out of memory. Without Config Manager "zwe start" works.

@GilPen
Copy link

GilPen commented Feb 17, 2023

Hello

Thank you very much for your feedback.

RECEIVE and APPLY SMPE from 2.4.0 to 2.6.1 / modify useConfigmgr to false and it's ok

@pablocarle
Copy link
Contributor Author

pablocarle commented Jun 2, 2023

Hi, with the new launcher there are some more details about the location where it fails:

2023-06-02 11:53:02 <ZWELNCH:50659913> ZWESVUSR DEBUG about to run command '_CEE_RUNOPTS="HEAPPOOLS(OFF)" CONFIG="/z/zwesvusr/zowe-ha/zowe-v2.9.0-RC1/zowe.yaml" __IPC_CLEANUP="1" ZLDEBUG="ON" ROOT_DIR="/z/zwesvusr/zowe-ha/zowe-v2.9.0-RC1/runtime" /z/zwesvusrzowe-ha/zowe-v2.9.0-RC1/runtime/bin/zwe internal start prepare --config "/z/zwesvusr/zowe-ha/zowe-v2.9.0-RC1/zowe.yaml" --ha-instance ca31 2>&1'
js_load_file failure. A file requested module '/z/zwesvusr/zowe-ha/zowe-v2.9.0-RC1/runtime/bin/commands/internal/start/prepare/index' but it could not be loaded.
Getting file info for diagnosis
File found with ccsid=0
First 256 bytes of module=/*
  This program and the accompanying materials are made available
  under the terms of the Eclipse Public License v2.0 which
  accompanies this distribution, and is available at
  https://www.eclipse.org/legal/epl-v20.html

  SPDX-License-Identifier: EP
ReferenceError: �@�@�}l�

@1000TurquoisePogs
Copy link
Member

The cause was found here zowe/launcher#104 and fixed here #3799
It is that when CEE RUNOPT HEAPPOOLS64 was a value other than OFF, this error happened.

v2.16 will contain HEAPPOOLS64(OFF) everywhere I found occurrences of runopts specified, so I believe this issue is resolved.
If a person is running an older Zowe and sees "InternalError: invalid opcode...", it seems you would have to set HEAPPOOLS64(OFF) within the parmlib that controls the runopts for that user, since otherwise there's about 25 of Zowe's files in which this change must be done.

You can confirm it is off by running OMVS RUNOPTS('RPTOPTS(ON)') in TSO as the user account which runs zowe.

I'm going to close this issue as I believe this is the fix for all users who have seen it so far, but feel free to open new issues if the error is seen again even in v2.16, or see it even when you know HEAPPOOLS64 is OFF.

@GilPen
Copy link

GilPen commented May 14, 2024 via email

@rudatp
Copy link

rudatp commented Jul 16, 2024

I have 2 separate systems running ZOWE version 2.16. Both have HEAPPOOLS64 ON set globally via system parmlib and useConfigmgr: true. In one of the systems I don't get the error, in the other one I do get error ZWEL0029E start component list is empty.
Overwriting _CEE_RUNOPTS=HEAPPOOLS64(OFF) in ZOWE started task gets rid of the error, but how come that in the other system it doesn't cause the error?
I also noticed in both systems in ZOWE output:
CEE_RUNOPTS=XPLINK(ON),HEAPPOOLS(ON) ENVAR("_CEE_ENVFILE=DD:STDENV") POS(ON) HEAPPOOLS6(OFF,8,4000,32......
Looks like a typo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Config Manager Related to the config manager component launcher
Projects
Status: Done
Development

No branches or pull requests

8 participants