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

"Some" members will not open #2553

Open
RobMKH opened this issue Mar 6, 2025 · 25 comments · May be fixed by #2567
Open

"Some" members will not open #2553

RobMKH opened this issue Mar 6, 2025 · 25 comments · May be fixed by #2567
Labels
bug A confirmed issue when something isn't working as intended good first issue Good for newcomers. Feel free to ask for help with these!

Comments

@RobMKH
Copy link

RobMKH commented Mar 6, 2025

Hi all

After updating, a specific member will not open. I have also observed it happening with different source members for other devs. I can open other members (I haven't tried them all).

In an attempt to isolate I rolled back to various versions. Quite a few of the more recent ones (2.14.x etc) wouldn't connect with "TypeError: t is not a constructor" so as that wasn't actually part of the original issue I ignored those. Once I rolled back to 2.13.0 the member would open. I then re-updated to 2.15.2 and the member would again not open.

When it's trying to open I'm seeing QP0ZSPWP jobs continually starting and ending - but they finish very quickly.

What I see in VSC is the tab for the member with the scrolling blue bar at the top that just continues to never-ending scroll.

I'm happy working at 2.13.0 but thought you'd want to know.

If there's anything I can do to get you more info then please let me know.


Context Version
Code for IBM i version 2.15.2
Visual Studio Code version 1.98.0
Operating System win32_x64
Active extensions
COBOL (cobol): 25.3.3
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.5.0
Configuration Editing (configuration-editing): 1.0.0
Db2 for IBM i (vscode-db2i): 1.9.3
Emmet (emmet): 1.0.0
Error Lens (errorlens): 3.23.0
Extension Authoring (extension-editing): 1.0.0
Git (git): 1.0.0
Git Base (git-base): 1.0.0
GitHub (github): 0.0.1
GitHub Authentication (github-authentication): 0.0.2
IBM i Debug (ibmidebug): 2.0.2
IBM i Project Explorer (vscode-ibmi-projectexplorer): 2.12.2
JSON Language Features (json-language-features): 1.0.0
Merge Conflict (merge-conflict): 1.0.0
NPM support for VS Code (npm): 1.0.1
Node Debug Auto-attach (debug-auto-launch): 1.0.0
RPGLE (vscode-rpgle): 0.28.6
Server Ready Action (debug-server-ready): 1.0.0
Source Orbit (vscode-sourceorbit): 1.0.2
TODO Highlight (vscode-todo-highlight): 1.0.5
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0

Remote system
Setting Value
IBM i OS V7R4M0
Tech Refresh 11
CCSID Origin 285
Runtime CCSID 285
Default CCSID 285
SSHD CCSID ?
cqsh true
SQL Enabled
Source dates Enabled

Enabled features

/QOpenSys/pkgs/bin /usr/bin /QSYS.lib/ILEDITOR.lib /QSYS.LIB /QIBM/ProdData/IBMiDebugService/bin /QOpenSys/QIBM/ProdData/JavaVM/jdk80 /QOpenSys/QIBM/ProdData/JavaVM/jdk11
bash attr GETNEWLIBL.PGM QZDFMDB2.PGM startDebugService.sh 64bit 64bit
chsh iconv
git setccsid
grep tar
ls uname
md5sum
sort
stat
Shell env
BUILDLIB=VMENU
CURLIB=VMENU
HOME=/home/removed
HOST=removed
LIBLS=removed
LOGIN=removed
LOGNAME=removed
MAIL=/var/spool/mail/removed
OLDPWD=/home/removed
PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin
PWD=/home/removed
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=removed
SSH_CONNECTION=removed 58924 removed 22
TZ=<GMT>0<BST>,M3.5.0/03:00:00,M10.5.0/03:10:00
USER=removed
USERNAME=removed
WORKDIR=/home/removed
_=/QOpenSys/pkgs/bin/env
Variants
{
  "american": "#@$",
  "local": "#@£",
  "qsysNameRegex": {}
}
@sebjulliand
Copy link
Collaborator

Hi @RobMKH ,
could you copy/paste here the content of the Code for IBM i output after this happens?
code for i output

Also, can you try to connect using this action once, see if it fixes it:

Image

Thanks!

@worksofliam worksofliam added the info-needed More information is requied from the issuer label Mar 6, 2025
@SanjulaGanepola
Copy link
Member

What I see in VSC is the tab for the member with the scrolling blue bar at the top that just continues to never-ending scroll.

This endless loading may be fixed by #2560. The issue with why it fails to open will still need to be investigated.

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

/usr/bin/attr -p /QSYS.LIB/HORTONR2.LIB/QRPGLESRC.FILE/VTS100.MBR CREATE_TIME MODIFY_TIME DATA_SIZE
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}

{
"code": 0,
"signal": null,
"stdout": "DATA_SIZE=52836\nCREATE_TIME=Sun Feb 16 09:33:32 2025\nMODIFY_TIME=Tue Mar 4 17:59:24 2025",
"stderr": ""
}

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1 -c "system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')""
CREATE OR REPLACE ALIAS ILEDITOR.TEMP_BB19A9D7EC45DB84A478ED8AC3E3472DC554FE71 for "HORTONR2"."QRPGLESRC"("VTS100")
{
"code": 0,
"signal": null,
"stdout": "DB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8."
}

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1 -c "system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')""
CREATE TABLE QTEMP.O_IRYLC AS (select srcdat, srcdta from ILEDITOR.TEMP_BB19A9D7EC45DB84A478ED8AC3E3472DC554FE71) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_IRYLC *FIRST) TOSTMF(''/tmp/vscodetemp-O_TKf5nADY'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8.\nCPC2958: All records copied from file O_IRYLC in QTEMP."
}

/home/HORTONR: rm -rf "/tmp/vscodetemp-O_TKf5nADY"
/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1
/usr/bin/attr -p /QSYS.LIB/HORTONR2.LIB/QRPGLESRC.FILE/VTS100.MBR CREATE_TIME MODIFY_TIME DATA_SIZE
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}

{
"code": 0,
"signal": null,
"stdout": "DATA_SIZE=52836\nCREATE_TIME=Sun Feb 16 09:33:32 2025\nMODIFY_TIME=Tue Mar 4 17:59:24 2025",
"stderr": ""
}

Unless I'm completely wrong it looks like it might be something to do with the locale that is being used given this error:
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8."

We are UK based.

@worksofliam
Copy link
Contributor

@sebjulliand I suspect this might have been fixed by @SanjulaGanepola in #2560.

Should we put a new release out, or a pre-release?

@sebjulliand
Copy link
Collaborator

@worksofliam a release sounds good. I know a few people that had the same problem, so that would make sense to have a fix out.

@worksofliam
Copy link
Contributor

@RobMKH 2.15.3 is released with a fix. I will close this, but please comment back if the issue persists.

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

Hi Liam

Issue not resolved but has changed. The permanent scrolling/trying to load has ceased but now seeing "The editor could not be opened due to an unexpected error. Please consult the log for more details.".

Output is below.

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1
system "CHKOBJ OBJ(HORTONR2/QRPGLESRC) OBJTYPE(*FILE) AUT(*UPD)"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1 -c "system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')""
CREATE OR REPLACE ALIAS ILEDITOR.TEMP_EDCA6570903EB11A03B3C67EDCA8A71DA6E4A78F for "HORTONR2"."QRPGLESRC"("XXXTEST")
/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1
/usr/bin/attr -p /QSYS.LIB/HORTONR2.LIB/QRPGLESRC.FILE/XXXTEST.MBR CREATE_TIME MODIFY_TIME DATA_SIZE
{
"code": 0,
"signal": null,
"stdout": "DATA_SIZE=139944\nCREATE_TIME=Mon Nov 18 17:48:31 2024\nMODIFY_TIME=Mon Nov 18 17:48:30 2024",
"stderr": ""
}

{
"code": 0,
"signal": null,
"stdout": "DB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8."
}

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1 -c "system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')""
CREATE TABLE QTEMP.O_W8CDI AS (select srcdat, srcdta from ILEDITOR.TEMP_EDCA6570903EB11A03B3C67EDCA8A71DA6E4A78F) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_W8CDI *FIRST) TOSTMF(''/tmp/vscodetemp-O_8O8FXXmK'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8.\nCPC2958: All records copied from file O_W8CDI in QTEMP."
}

/home/HORTONR: rm -rf "/tmp/vscodetemp-O_8O8FXXmK"
/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1
/usr/bin/attr -p /QSYS.LIB/HORTONR2.LIB/QRPGLESRC.FILE/XXXTEST.MBR CREATE_TIME MODIFY_TIME DATA_SIZE
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}

{
"code": 0,
"signal": null,
"stdout": "DATA_SIZE=139944\nCREATE_TIME=Mon Nov 18 17:48:31 2024\nMODIFY_TIME=Mon Nov 18 17:48:30 2024",
"stderr": ""
}

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1 -c "system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')""
CREATE OR REPLACE ALIAS ILEDITOR.TEMP_EDCA6570903EB11A03B3C67EDCA8A71DA6E4A78F for "HORTONR2"."QRPGLESRC"("XXXTEST")
{
"code": 0,
"signal": null,
"stdout": "DB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8."
}

/home/HORTONR: LC_ALL=EN_US.UTF-8 /home/HORTONR/.vscode/cqsh_1 -c "system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')""
CREATE TABLE QTEMP.O_LEORB AS (select srcdat, srcdta from ILEDITOR.TEMP_EDCA6570903EB11A03B3C67EDCA8A71DA6E4A78F) WITH DATA;
Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_LEORB *FIRST) TOSTMF(''/tmp/vscodetemp-O_eoyGqi5R'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')
{
"code": 0,
"signal": null,
"stdout": "DB2>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.\nDB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.",
"stderr": "CPFA0A9: Object not found. Object is EN_US.UTF-8.\nCPC2958: All records copied from file O_LEORB in QTEMP."
}

/home/HORTONR: rm -rf "/tmp/vscodetemp-O_eoyGqi5R"
{
"code": 0,
"signal": null,
"stdout": "",
"stderr": ""
}

@worksofliam worksofliam reopened this Mar 7, 2025
@worksofliam worksofliam added needs-investigation The team should look into this and removed info-needed More information is requied from the issuer labels Mar 7, 2025
@worksofliam
Copy link
Contributor

@RobMKH After you see the error, can also grab anything in the developer console? Help (in the tab at the top) -> Toggle Developer Tools -> Console

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

I've tried to pick out any pertinent places in the console that could indicate an error.

Image

Image

@worksofliam
Copy link
Contributor

worksofliam commented Mar 7, 2025

@RobMKH What version of IBM i are you connecting to here?

edit: future point, this is where I think it's going wrong.

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

And when I pressed the retry in VSC I received

Image

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

V7R4

@worksofliam
Copy link
Contributor

worksofliam commented Mar 7, 2025

@RobMKH What happens if you run these SQL statements thru ACS or VS Code?

CREATE TABLE QTEMP.O_LEORB AS (select srcdat, srcdta from ILEDITOR.TEMP_EDCA6570903EB11A03B3C67EDCA8A71DA6E4A78F) WITH DATA;

Call QSYS2.QCMDEXC('CPYTOIMPF FROMFILE(QTEMP/O_LEORB *FIRST) TOSTMF(''/tmp/vscodetemp-O_eoyGqi5R'') MBROPT(*REPLACE) STMFCCSID(1208) RCDDLM(*CRLF) DTAFMT(*DLM) RMVBLANK(*TRAILING) ADDCOLNAM(*SQL) FLDDLM('','') DECPNT(*PERIOD)')

If it generates the file, can you please share it here?

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

Image

@worksofliam
Copy link
Contributor

@RobMKH Please also share the file that was generated (in TOSTMF). Thanks!

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

Had to suffix it .txt to get it to attach on here

vscodetemp-O_eoyGqi5R.txt

@worksofliam
Copy link
Contributor

worksofliam commented Mar 7, 2025

Okay, so I think I see the problem.

In your output, on line 141, this is the output:

0," // This is a "server" type program, not a service pgm.  We tried it as a service"

I recreated a similar line, with " which is causing the problem for you, but here is my output:

250307,"// Hello ""world"""

In mine, the " (double quote) is escape and in yours is not.

The default for STRDLM is *DBLQUOTE, but perhaps the default has changed on your system and we need to pass the parameter in to where we call it.

Are you able to confirm what the default for that parameter is on your system? In the meantime, we will work on a fix for you by adding STRDLM and STRESCCHR to when we call the command.

@worksofliam worksofliam added bug A confirmed issue when something isn't working as intended good first issue Good for newcomers. Feel free to ask for help with these! and removed needs-investigation The team should look into this labels Mar 7, 2025
@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

Default is *DBLQUOTE

@worksofliam
Copy link
Contributor

@RobMKH Can you also check and share the default of STRESCCHR?

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

*NONE

@worksofliam
Copy link
Contributor

@RobMKH Alrighty - there's the issue! The system default for STRESCCHR is *STRDLM, and if you've changed the default, then we need to override that. Fix will come soon.

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

I can see you are correct about the default is *STRDLM. However, the curious thing is I can find absolutely no evidence that the command has had its command defaults changed.

Using the below does not find it

SELECT OBJNAME,APAR_ID,USER_CHANGED FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS','CMD')) WHERE APAR_ID = 'CHGDFT' ;

@RobMKH
Copy link
Author

RobMKH commented Mar 7, 2025

Hold the phone.....

Someone has dupe'd it into a localised system lib that is above QSYS in the system library list! And that has *NONE for STRESCCHR

If there were emoji's on here I'd be adding a big forehead slapping one.

@worksofliam
Copy link
Contributor

@RobMKH There is, I've got you covered: 🤦

@SJLennon
Copy link
Contributor

SJLennon commented Mar 7, 2025

@RobMKH Too many folk with *ALLOBJ authority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A confirmed issue when something isn't working as intended good first issue Good for newcomers. Feel free to ask for help with these!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants