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:
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/<user>/.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:
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
- Install Code for IBM i 3.0.7.
- Connect to an IBM i V7R4M0 system.
- Connection reaches "Starting Mapepire".
- Connection never completes.
- Output log shows:
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
- 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.
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:
When Mapepire is started this way, VS Code remains indefinitely at "Starting Mapepire".
We manually tested Mapepire outside VS Code and discovered that when:
are used instead, Mapepire starts normally and produces readable output.
When
QIBM_JAVA_STDIO_CONVERT=Nis 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
Expected behavior
Mapepire should start successfully and the IBM i connection should complete normally without hanging at "Starting Mapepire".
Screenshots
Environment
Additional context
Additional observations:
QIBM_JAVA_STDIO_CONVERT=Nand-Dos400.stdio.convert=N.