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

Downloading using source file with member names that have dollar signs in them #2264

Open
m-tyler opened this issue Sep 19, 2024 · 6 comments

Comments

@m-tyler
Copy link

m-tyler commented Sep 19, 2024

I was playing around with the download of source from the source file point. It was all going good until I noticed nothing downloaded. Looking at the log, member names with $ dollar sign characters (@ at sign seems good).

I will upload a test case of members that cause the same error if there are more.


Context Version
Code for IBM i version 2.13.0
Visual Studio Code version 1.93.1
Operating System win32_x64
Active extensions
CL (vscode-clle): 1.1.7
Code Spell Checker (code-spell-checker): 3.0.1
Code for IBM i User Spooled Files (vscode-ibmi-UserSpooledFiles): 0.1.0
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.5.0
Configuration Editing (configuration-editing): 1.0.0
Data Preview (vscode-data-preview): 2.3.0
Db2 for IBM i (vscode-db2i): 1.5.1
Emmet (emmet): 1.0.0
Error Lens (errorlens): 3.20.0
Excel Viewer (gc-excelviewer): 4.2.62
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
Hawkeye Pathfinder (vscode-ibmi-hawkeye): 0.0.13
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
Overtype (overtype): 0.5.0
Partial Diff (partial-diff): 1.4.3
RPGLE (vscode-rpgle): 0.26.11
Rainbow CSV (rainbow-csv): 3.12.0
Remove empty lines (remove-empty-lines): 1.0.1
TODO Highlight (vscode-todo-highlight): 1.0.5
Text Marker (Highlighter) (text-marker): 1.11.0
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0
Version Lens (vscode-versionlens): 1.14.2
classdiagram-ts (classdiagram-ts): 0.1.67
scratch-code (scratch-code): 0.1.8
undefined (indent-rainbow): 8.3.1

Remote system
Setting Value
IBM i OS V7R5M0
Tech Refresh 4
CCSID Origin 37
Runtime CCSID 37
Default CCSID 37
SQL Enabled
Source dates Enabled

Enabled features

/QOpenSys/pkgs/bin /usr/bin /QSYS.LIB /QIBM/ProdData/IBMiDebugService/bin
bash attr QZDFMDB2.PGM startDebugService.sh
find iconv
git setccsid
grep
ls
md5sum
sort
stat
tar
tn5250
Shell env
Variants
{
  "american": "#@$",
  "local": "#@$"
}
Errors

Copy attempts, 1 good 1 failed

Call QSYS2.QCMDEXC('CPYTOSTMF FROMMBR(''/IASP/QSYS.LIB/PRDSRC.LIB/QRPGSRC.FILE/@@ED0189.MBR'') TOSTMF(''/home/pgmr/tmp/code4itempO_GQGVaUI3zNM9YcnwbqX0/@@ed0189.mbr'') STMFOPT(*REPLACE) STMFCCSID(1208) DBFCCSID(*FILE) ENDLINFMT(*LF)');
Call QSYS2.QCMDEXC('CPYTOSTMF FROMMBR(''/IASP/QSYS.LIB/PRDSRC.LIB/QRPGSRC.FILE/\$\$CR714767.MBR'') TOSTMF(''/home/pgmr/tmp/code4itempO_GQGVaUI3zNM9YcnwbqX0/$$cr714767.sqlrpgle'') STMFOPT(*REPLACE) STMFCCSID(1208) DBFCCSID(*FILE) ENDLINFMT(*LF)');

Errors reported

DB20000I  THE SQL COMMAND COMPLETED SUCCESSFULLY.
DB2>

 **** CLI ERROR *****
         SQLSTATE: 38501
NATIVE ERROR CODE: -443
Object not copied.  Object is /IASP/QSYS.LIB/PRDSRC.LIB/QRPGSRC.FILE/\\$\\$CR714767.MBR. 
DB2>

@m-tyler
Copy link
Author

m-tyler commented Sep 19, 2024

Issue only seems to occur with the dollar signs and only when more than one.

@m-tyler
Copy link
Author

m-tyler commented Nov 6, 2024

This an issue when opening archive source members from our CMS tool, Rocket Aldon.

/home/PGMT: /usr/bin/attr -p /WIASP/QSYS.LIB/PGMT.LIB/QDDSSRC.FILE/REFPRPPF.MBR CREATE_TIME MODIFY_TIME DATA_SIZE
/home/PGMT: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')"
CREATE OR REPLACE ALIAS ILEDITOR.WFIARCHIVE_$$ARCSRC$$_A000096206 for "WFIARCHIVE"."$$ARCSRC$$"("A000096206")
/home/PGMT: /usr/bin/attr -p /WIASP/QSYS.LIB/WFIARCHIVE.LIB/\\\$\\\$ARCSRC\\\$\\\$.FILE/A000096206.MBR CREATE_TIME MODIFY_TIME DATA_SIZE
{
    "code": 0,
    "signal": null,
    "stdout": "DATA_SIZE=146124\nCREATE_TIME=Wed Nov  6 09:53:38 2024\nMODIFY_TIME=Fri Aug 23 13:50:14 2024",
    "stderr": ""
}

{
    "code": 1,
    "signal": null,
    "stdout": "",
    "stderr": "attr: 001-2248 Error found getting attributes for file /WIASP/QSYS.LIB/WFIARCHIVE.LIB/\\$\\$ARCSRC\\$\\$.FILE/A000096206.MBR.  A path name is too long."
}

@worksofliam
Copy link
Contributor

@m-tyler What happens if you run this from a pase shell? (zsh, bash, etc)

/usr/bin/attr -p /WIASP/QSYS.LIB/WFIARCHIVE.LIB/\\\$\\\$ARCSRC\\\$\\\$.FILE/A000096206.MBR CREATE_TIME MODIFY_TIME DATA_SIZE

Do you get the same error of A path name is too long?

@m-tyler
Copy link
Author

m-tyler commented Nov 6, 2024

Using the internal PASE, QSH, and QP2TERM all return the same error.

image

image

image

@worksofliam
Copy link
Contributor

@m-tyler Fun! Looks like, maybe, there's too many escape characters. I will have to fiddle with this.

Any chance you can share the CRT* commands for that library, source file and member so I can create a test case?

@m-tyler
Copy link
Author

m-tyler commented Nov 6, 2024

I don't have the exact commands used as they are built into the CMS product. But I replicated the objects using these commands. I am not certain the IASP has any play on this error.

CRTSRCPF FILE(PGMTRST/$$ARCSRC$$) RCDLEN(120) TEXT('Codefori Issue #2264')
ADDPFM FILE(PGMTRST/$$ARCSRC$$) MBR(A000000001) TEXT('Codefori Issue #2264') SRCTYPE(PF)                 

image
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants