codefori / codefori/vscode-ibmi
VSCode connection to IBM i server
- Dominant language
- TypeScript
- Stars
- 418
- Forks
- 160
- Avg merge
- 4d 19h
- Merged PRs (30d)
- 12
Description
## Describe the bug
After upgrading to Code for IBM i 3.x, all users connecting to our IBM i development system become stuck at **"Starting Mapepire"** and the connection never completes.
We confirmed that the issue affects multiple users and workstations, so it does not appear to be user-profile specific.
During troubleshooting, we found that Code for IBM i starts Mapepire with:
```bash
QIBM_JAVA_STDIO_CONVERT=N
QIBM_PASE_DESCRIPTOR_STDIO=B
QIBM_USE_DESCRIPTOR_STDIO=Y
QIBM_MULTI_THREADED=Y
/QOpenSys/QIBM/ProdData/JavaVM/jdk11/64bit/bin/java \
-Dos400.stdio.convert=N \
-jar /home//.vscode/mapepire-server-2.3.5.jar --single
```
When Mapepire is started this way, VS Code remains indefinitely at **"Starting Mapepire"**.
We manually tested Mapepire outside VS Code and discovered that when:
```bash
QIBM_JAVA_STDIO_CONVERT=Y
-Dos400.stdio.convert=Y
```
are used instead, Mapepire starts normally and produces readable output.
When `QIBM_JAVA_STDIO_CONVERT=N` is used, the output appears garbled/corrupted and the startup process does not complete successfully.
This suggests a possible issue related to stdout conversion or single-mode communication between Code for IBM i and Mapepire.
## To Reproduce
1. Install Code for IBM i 3.0.7.
2. Connect to an IBM i V7R4M0 system.
3. Connection reaches "Starting Mapepire".
4. Connection never completes.
5. Output log shows:
```text
Starting Mapepire: QIBM_JAVA_STDIO_CONVERT=N QIBM_PASE_DESCRIPTOR_STDIO=B QIBM_USE_DESCRIPTOR_STDIO=Y QIBM_MULTI_THREADED=Y exec /QOpenSys/QIBM/ProdData/JavaVM/jdk11/64bit/bin/java -Dos400.stdio.convert=N -jar /home/CHAND/.vscode/mapepire-server-2.3.5.jar --single
```
6. No Mapepire connection is established.
## Expected behavior
Mapepire should start successfully and the IBM i connection should complete normally without hanging at "Starting Mapepire".
## Screenshots
## Environment
* Extension version: 3.0.7
* IBM i OS version: V7R4M0
* Java: IBM Semeru Runtime Certified Edition 11.0.27
* Mapepire Server: 2.3.5
## Additional context
Additional observations:
* Manual startup of Mapepire in daemon mode works correctly.
* Port 8076 is successfully opened when started manually.
* The issue affects multiple users on the same IBM i partition.
* We verified that Java 11 is installed and functioning correctly.
* Changing the Mapepire Java Runtime setting from Java 8 to Java 11 did not resolve the issue.
* Disabling Quick Connect and Secure SQL Connection did not resolve the issue.
* Downgrading the extension also did not resolve the issue.
* The problem appears related to the use of `QIBM_JAVA_STDIO_CONVERT=N` and `-Dos400.stdio.convert=N`.
Contributor guide
Assessment
This issue has not been assessed yet.