United Devices Agent Tips

Implementation of CRT() Since Office 3.0.1 Induces Different Problem(s) in RtlCreateUserThread() [ntdll] - Not a Regression

Updated 20050107. A lot of good things have happened with the introduction of CrossOver Office 4.x regarding the functionality of the United Devices Agent working in Linux since Office 3.01 and as reported in my Known Issues previously. With apparent implementation of CreateRemoteThread() since 3.0.1, the Agent will now actually process Work Units received by the UD Servers under Linux whereas not before! A major achievement which nearly makes this application fully functional except as described below. Recently, United Devices modified the Agent program to accomodate a human gene folding routine called 'Rosetta' in addition to their classic Ligandfit work units sent to their volunteer clients. Functionally, Rosetta works flawlessly under Office 4.x but the classic Ligandfit work unit routine still retains some functional issues pertaining to a call within ntdll as referenced above. In processing a Ligandfit Work Unit in Windows, the Agent downloads, processes the unit at Idle priority 1 (static and lowest possible priority in Windows), completes the WU then phones home to upload the results and receive a new work unit. In Linux under Office 4.x, the Ligandfit work unit is successfully downloaded, processed (never done before in Linux with this Agent version btw) but not sent home. At completion of a Ligandfit type WU in Office, the Agent goes idle rather than phoning home because the process in the remote thread that processes the WU in the background at Pri (1) is prevented from being terminated due a thread block issue. It appears at least some part of the reason may be due to relating Windows thread priorities to Linux thread priorities. Renicing the active working thread to 19 helps free the system resourses sooner to user needs but does not resolve the Agent's ability to terminate the remote process so it can properly phone home. Unfortunately, this requires manual intervention to kill the 2 active LigFit background work unit threads to permit the Agent to prepare (compress) the completed WU to return to UD, sucessfully send home to a receive a new WU whereby the afore mentioned series is repeated. Processing a Rosetta work unit however, functionally works fine without any manual intervention whatsoever. Receive, process, send back home and receive again all work as in a Windows environment except the priority still requires renicing to 19 for a somewhat timely release of system resources back to the user upon demand. In my opion, I believe this application is now at Bronze status due to the newly aquired functionality with Office 4.x. It would be Silver, IMHO if Ligandfit worked as well as Rosetta work units and installation issues requiring a InstMsiA.exe pre install and oleaut32 = native in config were resolved. Then, the only obsticles remaining to acheive Gold would be the graphic animation of protein and test drug molecules abeit for pretty graphics to the viewer. The graphics issue is at least partially, related to non implementaion of the flag PFD_DRAW_TO_BITMAP in Wine as part of the call to the Windows function ChoosePixelFormat() or the Wine equivalent forwarded to X11DRV_ChoosePixelFormat(). This could go Gold if the above issues were resolved then all Codeweaver developers would have to do is test it to prove it! Roger L. Olson

by Unknown on 2009-07-17 11:30:31
Important Information Tips are provided by the CrossOver Community and Advocates. They are not intended to be used for official CodeWeavers Support. For that, please visit our official support pages.
CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzM4NzIzMjIwLCJjc3JmX3Rva2VuIjoiN2dSSEM0Y2haNEFhZ1BocCIsImdkcHIiOjB9