zowe-explorer-vscode: ZOWE Explorer 2.0.0 stops working when opening a workspace in Windows mounted using z/OS NFS

Hi,

i upgraded ZOWE Explorer, ZOWE CLI and IBM Z Open Editor to the new Versions (ZOWE Explorer 2.0.0, ZOWE CLI 7.0.2, IBM Z Open Editor 2.0.2). When i open a VS Code Workspace on my local hard drive, everything works fine. As you can see from the following screen shot, ZOWE Explorer is open in the sidebar and an assembler source file (coming from a workspace from my local harddrive) is in VS Code and IBM Z Open Editor is doing it’s job (as you can see from the entries in the menu).

image

But my usual workflow is different. The git repositories are located inside z/Unix, i mount the required directories using the Windows NFS Client to my desktop PC. I use make together with some simple VS Code tasks definitions (zowe cli zos-ssh) for CI/CD. When i open a VS Code Workspave or Folder from the NFS share the following happens:

  1. A windows pops up with the following error message: “Error encountered while activating and initializing logger! Error: EBUSY: resource busy or locked, realpath ‘y:\hlasm\RUVZS-ApplicationManagementInfrastructure’” The path is the NFS Share
  2. ZOWE Explorer looses all profiles
  3. IBM Z Open Editor stops working

Have a look at the screenshot below. The ZOWE Explorer view on the left side is empty (i.e no profiles). The popup in the editor does not have the Goto Definitions, Goto References anymore. In addition (not on the screen shot). The outline is empty which is another indication that IBM Z Open Editor did stop working as well. I assume this is because ZOWE hast lost its profiles.

image

This all worked without any problems for at least 2 years with the previous version of zowe cli, zowe explorer and IBM Z Open Editor. In order to fix this and get ZOWE Explorer to work again i have to do the following:

  1. Close the folder
  2. Open a folder from the local hard drive
  3. Restart VS Code

Steps to reproduce the behavior:

  1. Mount a z/Unix directory using the Windows NFS Client, here is the mount command i am using: mount -o mtype=hard \\mvst.ruv.de\hfw\u\xv880aj\Documents\source,text y:
  2. Open a Folder located on the share
  3. Open a source code file from the folder or workspace just opened
  4. Go back to the ZOWE Explorer Icon
  5. The Profiles should be gone.

Sometimes the error message does not pop up. In this case you need to exit out of VS Code without closing the editor and restart it to see the error message.

  • OS: MS Windows 10 Build 19044.1645
  • Zowe Explorer Version: 2.0.0
  • (Optional) Zowe CLI Version: 7.0.2
  • IBM Z Open Editor 2.0.2
  • VS Code Version: 1.66.2

I checked the zowe.log. The last message in the log is:

[2022/04/29 06:59:12.698] [ERROR] [extension.js:32] Error encountered while activating and initializing logger! {“errno”:-4082,“syscall”:“realpath”,“code”:“EBUSY”,“path”:“y:\hlasm\RUVZS-ApplicationManagementInfrastructure”} <

Nothing after this line anymore until i fix the problem. This could be a timing related problem with NFS Shares. The device is not busy as indicated in the error message i can edit the file and save it to the share without any issues.

ZOWE Explorer 2.0.0 has to work with NFS mounted shares without any problems as it did before.

regards

Ronny

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 2
  • Comments: 23 (9 by maintainers)

Most upvoted comments

Hi @cybersorcerer ,

I’ve made some adjustments to how we build project/workspace directories for Windows systems. Seeing the context of this error message, I am hopeful that this fix will resolve your issue. I was wondering if you could verify this by trying a new .vsix file (VS Code extension) that contains the fix? I will attach it to this comment.

To install an extension from a VSIX file:

  1. Download the attached .zip file that contains the VSIX.
  2. Extract the VSIX from the .zip file to an accessible location.
  3. Within VS Code, click on the “Extensions” panel on the left-hand side
  4. Then, click on the “meatball” or “kebab” menu (three dots) at the top of the Extensions view: image
  5. Next, click “Install from VSIX…”
  6. When the file browser appears, navigate to the path where the VSIX is located. Select the VSIX file and click “Install”
  7. Once finished, VS Code will prompt you to reload the window to apply the extension changes.

Here is the link to the .zip containing the VSIX: Zowe Explorer VSIX (realpath fix).zip


If the error still occurs after installing the new VSIX, the extension logs will help provide more insight into this problem. In this case, please attach the extension logs to this thread and we will continue to diagnose this issue.

To access the extension logs:

  1. Open the Output panel in VS Code: either through the shortcut Ctrl+Shift+U, or by clicking “View” -> “Output” in the menu bar
  2. In the dropdown on the top-right of the Output panel, select the option “Zowe Explorer”
  3. In the Output for Zowe Explorer, you will see the following lines at the beginning:
Zowe Explorer 2.8.0-SNAPSHOT
This log file can be found at <FILE_PATH>
  1. Using the file explorer, navigate to the log file path specified in the logging messages (should be a path ending in zowe.log)
  2. Upload this zowe.log file as a comment on this issue thread.

Thanks again for your feedback and patience regarding this issue.

Hi,

Any news?

Regards Ronny

Hi,

Are there any news?

Regards Ronny

Hey @zFernand0,

NFS inside WSL is for sure not the same as a z/OS NFS Server. You should recreate the Environment using a z/OS NFS Server,the Windows NFS Client with the extensions to the Windows mount command as described in my first post. I hope you do have access to a z/OS System.

Regards

Ronny

hey @cybersorcerer, Thanks for your patience. I’m getting setup to replicate an environment similar to yours. I’ll reach out as soon as I have some good news 😋