scripting - random exit code 107

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tommic
    New User
    • Mar 2012
    • 2

    scripting - random exit code 107

    Hi,

    in Beyond Compare 4, I face problems with running Beyond Compare script in multiple parallel processes. For a small percentage of attempts I get the exit code 107 (="Script failed to load folders or files"), all the rest finished fine and delivers the report. For all the failed sessions when I execute the same command (logged after failure) manually, it works fine.
    The problem does not occur when I execute all those session one by one always waiting for one process to complete before starting the next (started by a C# script running in LINQPad).
    When I start 2 processes at once and wait for both to complete before starting next 2 processes, 7 processes out of 1980 end up with exit code 107 and don't generate the desired output report.
    When I start 5 processes at once and wait for completion before starting next 5 processes, still 7 processes out of 1980 end up with exit code 107 and don't generate the desired output report.
    For 10 concurrent processes I get 21 problems, for 20 concurrent processes 30 problems, always from the total of 1980 processes...
    I would like to be able to reliably execute all these comparisons with up to 10 independent concurrent processes, as that gives me considerable speed increase (7 minutes with 10 concurrent process vs. 25 minutes with only 1 process).
    I have even tried to use 10 numbered copies of the BC script and use a different script for each of the concurrently running process, but it did not help. I still had 107's occurring for different copies of the BC script.
    I would like to know how this could be avoided and what file or folder actually could not be read/loaded.

    The script is stored in the local shared script folder configured in Beyond Compare, the name is filesCompSummary.bcs and its content is this:
    file-report layout:summary &
    options:ignore-unimportant &
    output-to:%3 %1 %2


    This is the sample command:

    BCompare.exe @filesCompSummary.bcs C:\Program_Dev\LinqpadToolsData\OdiSQL\D17_SITE\18 .05\1171714271\1171714271_1171722768_L2C_MKTCDS_L2 I_EDWH_MKT_CDSCOMPCONV_HO_2_IPA_ORG_MKTCDS.L2I_EDW H_MKT_CDSCOMPCONV_HO_2_IPA_ORG_MKTCDS.cln.Ins.tdsq l C:\Program_Dev\LinqpadToolsData\OdiSQL\D12_SITE\18 .08\1176783661\1176783661_1176888350_L2C_MKTCDS_L2 I_EDWH_MKT_CDSCOMPCONV_HO_2_IPA_ORG_MKTCDS.L2I_EDW H_MKT_CDSCOMPCONV_HO_2_IPA_ORG_MKTCDS.cln.Ins.tdsq l C:\Program_Dev\LinqpadToolsData\OdiSQL\reports\D12 _SITE_18.08_PerformanceFile_RC0_D17_SITE_18.05_Per formanceFile\L2C_MKTCDS_L2I_EDWH_MKT_CDSCOMPCONV_H O_2_IPA_ORG_MKTCDS.diff.txt /silent

    The files to be compared reside in the same 2 local folders, left files in one, right files in the other.
    All the locations are local and all the BeyondCompare processes are executed under the same user. All the files being compared are not accessed/locked by anything else during the C# script runtime.

    Best regards,
    Tom
  • Aaron
    Team Scooter
    • Oct 2007
    • 16008

    #2
    Hello,

    If you add /solo to the bcompare command line, this will help launch each as it's own process. Does this help in this scenario?

    It may also be stressing your target folders to hit them with that many tasks. Some network drives might have trouble with this, and begin to throw errors.
    Aaron P Scooter Software

    Comment

    • tommic
      New User
      • Mar 2012
      • 2

      #3
      Hi Aaron,

      thanks for your tip.

      I have added the /solo option and used 5 concurrent processes. Result was even worse as it was much slower (24 minutes compared with 9 minutes without the /solo option, but this I expected when a new process starts for each comparison). But I still got 34x 107s. And one complete crash with AV, I have saved the bugreport, if you are interested.

      And my output drives are local, all paths on a C: drive on a Windows box. And these issues happen even if I only use 2 concurrent processes. Moreover, when starting these processes I also call Sleep(100) in the calling C# script.

      Any other idea?

      Best regards,
      Tom

      Comment

      • Aaron
        Team Scooter
        • Oct 2007
        • 16008

        #4
        Hello,

        You can post or email the crash reports to [email protected] (including a link back to this forum thread for our reference).

        What version of BC4 are you running, and is it the 64bit build (Help menu -> About dialog)? How much available memory do you have as the task(s) are running?
        Aaron P Scooter Software

        Comment

        Working...