Skip to content

Debug for i 2.0.1: Encrytion key file does not exist under workspace: /GROBINSON #1

@robinsg

Description

@robinsg

I'm getting the following when I start the Debug Service in Debugger v2.0.1

java version "11.0.24" 2024-07-16
IBM Semeru Runtime Certified Edition (build 11.0.24+8)
Eclipse OpenJ9 VM (build openj9-0.46.0, JRE 11 OS/400 ppc64-64-Bit Compressed References 20240913_15 (JIT enabled, AOT enabled)
OpenJ9   - 1a6f6128aa
OMR      - 840a9adba
JCL      - 253a1f4554 based on jdk-11.0.24+8)
Encrytion key file does not exist under workspace: /GROBINSON

I have the necessary PTF applied, JV1 option 19 and WDS option 60 are also installed.

/QIBM/ProdData/IBMiDebugService/bin/DebugService.env:

#!/bin/sh
#
#               Licensed Materials - Property of IBM
#               (C) Copyright IBM Corporation 2022, 2023. All rights reserved.
#               US Government Users Restricted Rights - Use, duplication or disclosure
#               restricted by GSA ADP Schedule Contract with IBM Corp.
#
#  The source code for this program is not published or otherwise
#  divested of its trade secrets, irrespective of what has been
#  deposited with the U.S. Copyright Office.
#
# Environment settings for IBM i Debug Service for remote debugging
#
# The installation directory of IBM i Debug Service
DBGSRV_ROOT=/QIBM/ProdData/IBMiDebugService

# The directory for IBM i Debug Service working files
# IBM i Debug Service runs as a headless Eclipse application. This is the parent folder for all
# Eclipse workspaces. The job need write permission to this directory.
DBGSRV_WRK_DIR=/QIBM/UserData/IBMiDebugService

# The workspace folder for the start debug service application
STR_DBGSVR_WRK_DIR=$DBGSRV_WRK_DIR/startDebugService_workspace

# The workspace folder for the stop debug service application
STOP_DBGSVR_WRK_DIR=$DBGSRV_WRK_DIR/stopDebugService_workspace

# Port numbers used by IBM i Debug Service
# In secured mode, we need to set both DBGSRV_PORT and DBGSRV_SECURED_PORT.
# In unsecured mode, we only need to set DBGSRV_PORT.
#
# DBGSRV_PORT: The port number the debug daemon is listening on.
# In unsecured mode, this port is used for the communication between the debug client and IBM i Debug Service.
# In secured mode, this port is only used to stop the Debug Service.
DBGSRV_PORT=8001

# DBGSRV_SECURED_PORT: The port number for secured communication between debug client and IBM i Debug Service.
# This line can be commented out if secured mode is not used.
DBGSRV_SECURED_PORT=8005

# DBGSRV_SEP_DAEMON_PORT: The port number for secured communication between the debug client and
# the host service entry point daemon. DBGSRV_SEP_DAEMON_PORT is used to relay debug information
# back to the client when a service entry point is hit.
DBGSRV_SEP_DAEMON_PORT=8008

# Uncomment the following line to set the trace flag for Debug Adapter Protocol (DAP) tracing
# True to turn DAP tracing on
# TRACE_FLAG=false

# Uncomment the following line to set the logging flag
# True to turn logging on. Logging is turned on by default.
# Log file path: /QIBM/UserData/IBMiDebugService/DebugService_log.txt
# LOGGING_FLAG=true

# Uncomment the following line to set the IBMIDEBUG_LOCALONLY environment variable.
# IBM i Debug Service can only connect to the debug router (QB5ROUTER) on the same host,
# if IBMIDEBUG_LOCALONLY is not set or set to true. Setting IBMIDEBUG_LOCALONLY to false will allow
# IBM i Debug Service to run on a different machine than the debug router.
# IBMIDEBUG_LOCALONLY=true

VScode output is:

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select trim(coalesce(usr.special_authorities,'') concat ' ' concat coalesce(grp.special_authorities, '')) AUTHORITIES from qsys2.user_info_basic usr left join qsys2.user_info_basic grp on grp.authorization_name = usr.group_profile_name where usr.authorization_name = 'GROBINSON'
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nAUTHORITIES                                                                                                                                                                      \n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n*ALLOBJ    *SECADM    *JOBCTL    *SPLCTL    *SAVSYS    *SERVICE   *AUDIT     *IOSYSCFG                                                                                           \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: test -r /QIBM/UserData/IBMiDebugService/C4iDebugService.env
{
    "code": 0,
    "signal": null,
    "stdout": "",
    "stderr": ""
}

/QIBM/UserData/IBMiDebugService: LC_ALL=EN_US.UTF-8 /QOpenSys/usr/bin/qsh
system "SBMJOB CMD(STRQSH CMD('/QOpenSys/pkgs/bin/bash -c ''export DEBUG_SERVICE_EXTERNAL_CONFIG_FILE=/QIBM/UserData/IBMiDebugService/C4iDebugService.env; /QIBM/ProdData/IBMiDebugService/bin/startDebugService.sh''')) JOB(DBGSVCE) JOBQ(QSYS/QUSRNOMAX) JOBD(QSYS/QSYSJOBD) USER(*CURRENT)"
{
    "code": 0,
    "signal": null,
    "stdout": "",
    "stderr": "CPF1245:  MSGQ(*WRKSTN) not valid.  MSGQ(*NONE) used.\nCPC1221:  Job 321595/GROBINSON/DBGSVCE submitted to job queue QUSRNOMAX in library QSYS."
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMA        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMA        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMW        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMW        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMW        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMW        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\nDBGSVCE    GROBINSON  321595      QSYS/QUSRWRK          GROBINSON     TIMW        BASE        \n\n  1 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name, local_port from qsys2.netstat_job_info j where job_name = (select job_name from qsys2.netstat_job_info j where local_port = 8005 and remote_address = '0.0.0.0' fetch first row only) and remote_address = '0.0.0.0'
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJOB_NAME                     LOCAL_PORT \n---------------------------- -----------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select job_name_short "Job name", job_user "Job user", job_number "Job number", subsystem_library_name concat '/' concat subsystem as "Subsystem",  authorization_name "Current user", job_status "Job status", memory_pool "Memory pool" from table(qsys2.active_job_info(job_name_filter => 'DBGSVCE')) where job_name = '321595/GROBINSON/DBGSVCE' fetch first row only
{
    "code": 1,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nJob name   Job user   Job number  Subsystem             Current user  Job status  Memory pool \n---------- ---------- ----------- --------------------- ------------- ----------- ------------\n\n  0 RECORD(S) SELECTED.",
    "stderr": ""
}

/home/GROBINSON: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
select SPOOLED_DATA from table (systools.spooled_file_data(job_name => '321595/GROBINSON/DBGSVCE', spooled_file_name => 'QPRINT')) order by ORDINAL_POSITION
{
    "code": 0,
    "signal": null,
    "stdout": "DB2>\n  ?>\n\nSPOOLED_DATA                                                                                                                                                                                                                                                                                                                                                                              \n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\njava version \"11.0.24\" 2024-07-16                                                                                                                                                                                                                                                                                                                                                         \nIBM Semeru Runtime Certified Edition (build 11.0.24+8)                                                                                                                                                                                                                                                                                                                                    \nEclipse OpenJ9 VM (build openj9-0.46.0, JRE 11 OS/400 ppc64-64-Bit Compressed References 20240913_15 (JIT enabled, AOT enabled)                                                                                                                                                                                                                                                           \nOpenJ9   - 1a6f6128aa                                                                                                                                                                                                                                                                                                                                                                     \nOMR      - 840a9adba                                                                                                                                                                                                                                                                                                                                                                      \nJCL      - 253a1f4554 based on jdk-11.0.24+8)                                                                                                                                                                                                                                                                                                                                             \nEncrytion key file does not exist under workspace: /GROBINSON                                                                                                                                                                                                                                                                                                                             \n\n  7 RECORD(S) SELECTED.",
    "stderr": ""
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions