Skip to content

Commit

Permalink
More info about CCSID issue
Browse files Browse the repository at this point in the history
Signed-off-by: worksofliam <mrliamallan@live.co.uk>
  • Loading branch information
worksofliam committed Nov 18, 2024
1 parent 3ea3fd3 commit 52975ab
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/content/docs/tips/ccsid.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,17 @@ As of Code for IBM i 2.x.x, the extension now uses a new component to execute CL

This error occurs when the CCSID of the SSH connection does not match the job CCSID. The job CCSID is determined by the user profile CCSID or the system value `QCCSID`. The CCSID of the SSH connection is determined by whichever user is running the SSHD - this usually `QSECOFR` and the CCSID of the user profile.

This message appears when the `cqsh` is not available (not installed or not runnable) and the extension falls back to the old method of executing commands. When that happens, we check the SSHD CCSID and compare it to the job CCSID. If they do not match, the error is thrown, as QSH will not use the user job CCSID, but the SSHD CCSID.
This message appears when the `cqsh` is not available (not installed or not runnable) and the extension falls back to the old method of executing commands. When that happens, we check the SSHD CCSID and compare it to the job CCSID. If they do not match, the error is thrown, as QSH will not use the user job CCSID, but the SSHD CCSID.

<details>
<summary>Learn more</summary>

So when you log in via SSH, sshd accepts your connection and forks a child to handle your session. The forked job will initially inherit all the job attributes of the parent sshd job, which in this case is running in 37.

However, as a custom addition, IBM have code in sshd to reset your job attributes based on the user profile by using QWTCHJB. This changes the job CCSID to user profile CCSID, as you would expect.

However, the PASE converter functions and job CSSID are cached at PASE startup time, so it still thinks the CCSID is 37.

![](./images/ccsid_bug.png)

</details>
Binary file added src/content/docs/tips/images/ccsid_bug.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 52975ab

Please sign in to comment.