05.09.2017 11:10:14
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hello,
our goal is to run RCWinTrans in parallel. Therefore, we were very pleased that the Release Notes of version 11 listed the following feature:
"Multiple instances of RC-WinTrans 11 can be started. Prior to this only one instance of RC-WinTrans could be used at a time."
We start the translation with the following commands:
"RCWinTrans /Update /proj %PROJPATH% /long %TGTLANG% /log %LOGFILE%" "RCWinTrans /WriteTargetFile /proj %PROJPATH% /long %TGTLANG% /log %LOGFILE%"
If I run the rwtproject file commands one after the other, everything works without a problem. However, if I run more than 2 in parallel, the process aborts and the following error message appears in the log file: "User break: premature end. Error (404): The converter "NETFilesConverter. ConvNetAsm. XliffToFormatFile" returned exit code 53. Error (105): The source file has changed. The target file "********. dll" cannot be written."
Are there known issues with this procedure? Is there any resources that cannot be accessed at the same time?
Thanks, Johannes |
07.09.2017 12:45:37
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hi,
thanks for your answer. For us, parallel execution is very important and would be a strong argument to upgrade from version 9, for which we have a license to the new version 11. At the moment we are still testing version 11 with the Demo version. We can rule out the possibility of multiple processes running the same projects. As far as we know, RCWinTrans uses system tools to convert from BAML to XAML. Could one of these tools cause ConvNetAsm to fail?
If it's helpful, here's our PowerShell script that we use to call all rwtproject files from a folder in parallel. The actual script is limited that only a maximum of four projects are processed at the same time, but this code snippet is to get you the idea of what we're doing:
Get-ChildItem "C:\RCWinTrans" -Filter *.rwtproject | ForEach-Object { Start-Job -ScriptBlock { Start-Process RCWinTrans-Demo.exe -ArgumentList "/Update", "/proj", $args[0], "/lang", "de", "/log", $("C:\RCWinTrans\RCWinTrans_" + [System.IO.Path]::GetFileNameWithoutExtension($args[0]) + ".log") -Wait Start-Process RCWinTrans-Demo.exe -ArgumentList "/WriteTargetFile", "/proj", $args[0], "/lang", "de", "/log", $("C:\RCWinTrans\RCWinTrans_" + [System.IO.Path]::GetFileNameWithoutExtension($args[0]) + ".log") -Wait } -ArgumentList $_.FullName }
Is the execution correct? Do you have any sample script that we can use as a guide?
Regards Johannes |
08.09.2017 09:28:55
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hello,
thank you for your answer.
Support wrote:
Multiple access to a project is not supported. Good, we're not doing this. We access multiple (independent) projects in parallel.
Support wrote:
Also: You are running an Update Database (/Update) changing the data in the database. At the same time /WriteTargetFile is used which requires valid and ready to use data (!). That's NOT true.
Support wrote:
Make your script is running /Update first. When ready: /WriteTargetFile We're doing exactly this.
johannes wrote:
Start-Process RCWinTrans-Demo.exe -ArgumentList "/Update", "/proj", $args[0], "/lang", "de", "/log", $("C:\RCWinTrans\RCWinTrans_" + [System.IO.Path]::GetFileNameWithoutExtension($args[0]) + ".log") -Wait The last parameter prevents further processing before this command is completed.
Each project is processed only once, in such a way that the update command is started first and waits until it is finished. Only then the WriteTargetFile command is executed. This ensures that the WriteTargetFile command is not executed until the update has been completed. Apart from that, errors also occur when I just run the update command.
All our RCWinTrans projects are independent of each other and do not influence each other. Could you please clarify what can be done in parallel and how exactly? This is really important to us. I also started the CmdLineTester.exe twice with different projects and ran the update command in parallel. Same result.
We're translating .NET Assemblies. As far as we know, RCWinTrans uses system tools to convert from BAML to XAML. Could one of these tools cause ConvNetAsm to fail because they cannot be run in parallel?
Are there any restrictions on demo.exe compared to the normal exe?
To cut a long story short: Please post an example script (*.bat, *.ps1, ...) with which independent projects can be run in parallel.
Regards, Johannes |
08.09.2017 15:10:03
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hi,
okay, maybe I was a little misleading. We don't want to run the update and the WriteAllTarget command in parallel, we want to run several projects at the same time. The code block of a single project encloses the two commands /Update and /WriteTargetFile, which wait for each other and are not executed in parallel.
But to make it clear: I start the CmdLineTester.exe twice.
CmdLineTester 1: Command: /Update Working Directory: C:\RCWinTrans /proj: Project1.rwtproject /lang: de /log: C: \RCWinTrans\Project1.log Command line application: C:\Program Files (x86)\RC-WinTrans\RC-WinTrans 11 Demo\Program\RCWinTrans-Demo. exe
CmdLineTester 2: Command: /Update Working Directory: C:\RCWinTrans /proj: Project2.rwtproject /lang: de /log: C: \RCWinTrans\Project2.log Command line application: C:\Program Files (x86)\RC-WinTrans\RC-WinTrans 11 Demo\Program\RCWinTrans-Demo. exe
If I click the two Execute buttons at once (with a delay of less than 1 second), 1 out of 4 execution leads to the following error:
Erzeuge Zieldatei fuer die Sprache "de"... Datenbank Zugriffsfehler. Error: -2146825284 Msg: Unknown error 0x800A0BBC Description: Write to file failed. Die Datendatei konnte nicht aus der Datenbank extrahiert werden! Sprache: "de"; Datei: "C:\RCWinTrans\*****.dll"
In order to exclude subsequent errors, I executed the update command for both projects again one after the other, which works without any problems. Afterwards, I entered the /WriteTargetFile command in the CmdLineTester.exe for the two projects and clicked Execute again directly one after the other (more or less parallel). This leads to the already described error message:
User break: premature end. Error (404): The converter "NETFilesConverter.ConvNetAsm.XliffToFormatFile" returned exit code 53.
Again: I can definitely exclude that we translate the same project in parallel.
Maybe it is a timing problem and you have just the right timing and I don't.
Regards, Johannes edited by johannes on 11.09.2017 edited by johannes on 11.09.2017 |
11.09.2017 14:48:31
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hello,
I'm glad I was able to help you narrow down the error. As I said, we are very interested in running RCWinTrans projects in parallel. If I can test anything, don't hesitate to contact me.
Without wanting to pin you on a date: Can you speak of an approximate schedule? Are you talking about a period of days/weeks/months?
Regards, Johannes |
13.12.2017 13:56:41
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hello,
thank you for releasing the RCWinTrans 11.1 Demo version. Unfortunately, we still get some errors while running the projects in parallel:
1.) If I run RCWinTrans by my PowerShell script (or command line or CmdLineTester.exe) and don't open the GUI before, after some seconds the application Microsoft Visual Basic for Applications - NetFilesConverter opens and an error message pops up:
Compile error: Automation error
In the background the following file is shown with the highlighted area "New CRCTResxConverter":
Public Function RESX_to_XLIFF(ProjName As String, SrcFile As String, TargetFile As String, _ LangCode As String) As Long On Error GoTo ErrorHandler
Dim converter As RWTResxConv.IRWTRESXConverter Set converter = New CRCTResxConverter Dim Progress As ProgressView Set Progress = Application.Windows.ProgressView Dim hres As Long Dim ErrMsg As String ...
Since you are working on the RWTResxConv.DLL as mentioned in the release notes, I think there are still some bugs in the processing.
Since I am working with VMWare (virtual machines) I can definetly reproduce this error. If I open the RCWinTrans before this error message does not appear. If I open and close RCWinTrans the upper error message never appears, but I get the following errors:
2.) During execution of the Update command I get the following error messages from time to time:
a) Database access error. Error: -2146825284 Msg: Unknown error 0x800A0BBC Description: Write to file failed. Data file could not be extracted from database! Language: "de"; File: "C:\RCWinTrans\***.dll" Error (305): The data file (DOM) could not be loaded: "de." Error (402): Conversion tool: NETFilesConverter.ConvNetAsm.FormatFileToXliff, Exit code: 4017 Failed.
b) Data file error! Language: "de"; Source file: "C:\RCWinTrans\***.exe" Temp. file: C:\Users\***\AppData\Local\Temp\RC-WinTrans\RCT06801.rwtxlf The system cannot locate the resource specified.
3.) During execution of the WriteAllTarget command I get the following error messages from time to time:
a) Target file: C:\RCWinTrans\***.resources.dll Error (105): The source file has changed. The target file "C:\RCWinTrans\***.dll" cannot be written.
b) Target file: C:\RCWinTrans\***.resources.dll Database access error. Error: -2146825284 Msg: Unknown error 0x800A0BBC Description: Write to file failed. Data file could not be extracted from database! Language: "de"; File: "C:\RCWinTrans\***.dll" Error (305): The data file (DOM) could not be loaded: "de."
I am willing to test further versions. Please let me know if you need any help to localize the errors.
Regards, Johannes edited by johannes on 13.12.2017 edited by johannes on 14.12.2017 |
21.12.2017 14:13:42
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hello,
thank you for your answer. I set up a new machine and installed RCWinTrans Demo version 11.1 from 17th December 2017. I was able to to run the commands "Update" and "WriteAllTarget" for the .NET sample project without any problem. I have installed and enabled .NET Framework 2.0 and 3.5.
The errors listed as 2.) and 3.) in my previous post still occur. It doesn't matter if I run the commands in the RCWinTrans CmdLineTester or with my script: same flawed result.
We are eager to contribute as much help as possible to narrow down these errors. We REALLY need to run RCWinTrans in parallel!
Kind regards, Johannes |
08.01.2018 14:42:25
Topic:
Executing RCWinTrans 11 in parallel throws error
johannes
|
Hello,
may I ask if these bugs will be fixed in the next version and when it will be released?
Kind regards, Johannes |
1
|