MoleQueue on Windows

Marcus, Thank you very much for the writeup with details on Windows build. I followed exactly your http://wiki.openchemistry.org/Build#Building and able to build on Windows 10 with Visual Studio 2019. The QT version from offline installer is Qt 5.12.10 for Windows. As you stated quite a relief, you should never have to build QT. I only need to do set environment variable QT5_DIR=C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\lib\cmake\Qt5

After the Windows build, I am able to run Avogadro2 and Molequeue from [build directory]\prefix\bin. Now I am stuck with a problem encountered in molequeue application. By adding Queue type as remote queue, then I configured a remote hostname and User, after successfully testing connection, the “Submit test job” functionality doesn’t work. It simply doesn’t add the test job onto local jobs queue, which supposed to be on local machine under .molequeue\local\jobs. Further I debugged into Visual Studio MoleQueue.sln project, found

JsonRpcClient sends request successfully as QJsonDocument({“id”:1,“jsonrpc”:“2.0”,“method”:“submitJob”,“params”:{“description”:“sleep 30 (test)”,“program”:“sleep (testing)”,“queue”:“DLBox2”}})

However at
LocalSocketConnection::readSocket() receive empty datapacket. Due to empty datapacket, JsonRpc::newPacket caught QJsonParseError::error with errorcode -32700 which is “illegal value”

I have tested molequeue application on Ubuntu Linux build version, the problem doesn’t exist there.

Has anyone used openchemistry latest build on Windows and molequeue to submit job to remote queue? I would really appreciate your support.

It’s probably better to create this as a new thread on the forum - I can switch if you like.

There are a bunch of problems with Molequeue in general, so I’m not too surprised that there are Windows issues.

If you want to help debug this, let me know. (I’m wondering about other IPC methods for Windows, e.g. Inter-Process Communication in Qt | Qt 5.15)

Thanks Geoff! Could you please switch me to the new thread? I would like to get others’ feedback on this. Yes, I would like to help debugging this, definitely need some help. I find Avogadro2 works well with molequeue on ubuntu linux, really would like to see the same functionality working on windows. Thanks a bunch!

Yang

I found couple issues with MoleQueue latest build on Windows 10 + QT library 5.12.10

  1. Adding remote queue, at SSH Configuration putting Hostname and user, when “Test Connection…” by clicking, it eventually shows “Connection timeout”

The issue is with “SSH Executable:” which is putty plink. Windows10 doesn’t have putty installation.

[solution] You would need to download and install using 64-bit installer at Download PuTTY: latest release (0.74)

  1. Test Connection again, shows no password error.

This issues is due to unable to enter password.
[Solution] Please configure PKI exchange between your windows client and host server. Provide Identity file (private key): at SSH Configuration Advanced tab. This would allow you to present your private key and SSH signon to host server

  1. Submit test job… from Molequeue
    This is to test submitting a sleep job to remote queue on host server, the architecture of Molequeue is to use QLocalSocket first create a jobid directory called c:\Users\username.molequeue\local\jobid, then copy mqjobinfo.json file and job.pbs file underneath the created directory. But this local directory never gets created.

[Solution] I fixed the problem at jsonrpcclient.cpp by adding
m_socket->flush();
After code fixing the local jobs queue is created and copied.

  1. Submbit test job… from Molequeue is still not copying the mqjobinfo.json job.pbs files to remote host server

Instead the mqjobinfo.json job.pbs files are copied to jobid/jobid on remote server, the extra jobid directory is preventing qsub from looking for the job.pbs file

  1. Hitting error of
    Exit code (1) qsub: script is written in DOS/Windows text format

After fixing couple of issues with Molequeue on Windows 10, I am able to submit jobs to remote queue.

1 Like

Glad to hear this is working. It sounds like for PBS, there’s a duplicate jobid/jobid path?

I’ll see what I can do for the other bugs you mention.