codefori / codefori/vscode-ibmi

VSCode connection to IBM i server

Open
#3,239 53 comments 0 reactions 0 assignees View on GitHub
needs-investigation
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

Image

Image

Image

## 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.