Build doesn't complete

mainak's Avatar

mainak

Oct 11, 2016 @ 03:36 PM

Hi, Build seems to not finish and exits after 1 hour. I don't see any obvious error. Tests also run fine and finish. However there is nothing after that. Please see attached log file.

  1. 1 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 04:21 PM

    Ilya Finkelshteyn's Avatar

    Hello,

    One of possible issues is that something in your build pipeline requires interactive input. To check this, please connect to build worker with (non-blocking) RDP at the init stage of build and see if something pops up.

    If this do not help, please send us your appveyor.yml file (use Export YAML option if you use UI).

    Thank you,
    Ilya.

  2. 2 Posted by mainak on Oct 11, 2016 @ 07:53 PM

    mainak's Avatar

    Hi,

       Build is not interactive since it works fine on my machine. Anyway followed instruction and there is nothing popping up.
       1) See attached screenshot for status when tests were complete
        2) yaml content in root directory

    version: 1.0.{build}
    before_build:
    - cmd: nuget restore
    init:
      - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
    build:
      project: RSI.sln
      verbosity: minimal
    install:
    - ps: if (Test-Path 'C:\Tools\NuGet3') { $nugetDir = 'C:\Tools\NuGet3' } else { $nugetDir = 'C:\Tools\NuGet' }
    - ps: (New-Object Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/v3.3.0/nuget.exe', "$nugetDir\NuGet.exe")

    Regards
    Mainak

  3. 3 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 08:30 PM

    Ilya Finkelshteyn's Avatar

    Thank you!

    YAML content looks simple and I do not see suspicious spots...

    Can you please answer the following questions:

    1. What is that cmd window on your screenshot? Was it something you started or it appeared by itself in RDP session?

    2. Will build finish OK if you set test: off?

    Thank you,
    Ilya.

  4. 4 Posted by mainak on Oct 11, 2016 @ 08:41 PM

    mainak's Avatar

    Hi Llya

    cmd window : it was there when I logged in
    i will check with test: off in yaml file and let you know

    Thanks
    Mainak

  5. 5 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 08:46 PM

    Ilya Finkelshteyn's Avatar

    Yes, please check w/o tests. However now I have strong feeling that this CMD window is culprit, it is not standard for RDP session. Please check what process is running that window and will build finish if you close it in RDP.

    Thanks!

  6. 6 Posted by mainak on Oct 11, 2016 @ 08:55 PM

    mainak's Avatar

    it worked!

    I will try with closing cmd window

  7. 7 Posted by mainak on Oct 11, 2016 @ 09:01 PM

    mainak's Avatar

    No, I can't close window. This is what happened when I closed that cmd window

    Build started
    iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
    Remote Desktop connection details:
      Server: 74.205.54.20:34140
      Username: appveyor
      Password: s9ecM#iLapx5ktw
    git clone -q --branch=dev git@github.com:rsireports/rsi_repo.git C:\projects\rsi-repo
    Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
    fatal: index-pack failed
    fatal: The remote end hung up unexpectedly
    ^CCommand exited with code -1073741510

  8. 8 Posted by mainak on Oct 11, 2016 @ 09:05 PM

    mainak's Avatar

    same issue if I close cmd window after tests complete. for some reason tests are not completing it seems.

    Passed PostFile
    Total tests: 44. Passed: 44. Failed: 0. Skipped: 0.
    Test Run Successful.
    Test execution time: 1.3001 Minutes
    ^CCommand exited with code -1073741510

  9. 9 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 09:06 PM

    Ilya Finkelshteyn's Avatar

    OK, could you please try this:

    test_script:
    - cmd: vstest.console /InIsolation /logger:Appveyor "C:\projects\rsi-repo\RSI.API.Tests\bin\Debug\RSI.API.Tests.dll" "C:\projects\rsi-repo\RSI.Test\bin\Debug\RSI.Test.dll"
    
  10. 10 Posted by mainak on Oct 11, 2016 @ 09:26 PM

    mainak's Avatar

    seems to be running/stuck.

  11. 11 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 09:33 PM

    Ilya Finkelshteyn's Avatar

    OK, then can you create bat/cmd file with this content (without - cmd:) and run it as a test script?

    For example file name is mytests.cmd and content is:
    vstest.console /InIsolation /logger:Appveyor "C:\projects\rsi-repo\RSI.API.Tests\bin\Debug\RSI.API.Tests.dll" "C:\projects\rsi-repo\RSI.Test\bin\Debug\RSI.Test.dll"

    Then in appveyor.yml (I assume it is in the root folder otherwise add path relative to C:\projects\rsi-repo):

    test_script:
    -  mytests.cmd
    
  12. 12 Posted by mainak on Oct 11, 2016 @ 09:50 PM

    mainak's Avatar

    looks like stuck. I have attached log files from last two runs (test command and test command file)

  13. 13 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 10:27 PM

    Ilya Finkelshteyn's Avatar

    Can you try to add echo after tests into your cmd file at last line and send result log?

  14. 14 Posted by mainak on Oct 11, 2016 @ 10:42 PM

    mainak's Avatar

    ok, file attached (it seems to echo)

  15. 15 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 10:59 PM

    Ilya Finkelshteyn's Avatar

    OK, can you try the following:

    • Leave only one DLLs as vstest.console arguments, then another and see if one of combinations works or both do not work or both works.

    • Type exit 0 in the end of cmd file with both DLLs back in command line

    None of this is a solution, just attempts to narrow down the issue.

    --ilya.

  16. 16 Posted by mainak on Oct 11, 2016 @ 11:15 PM

    mainak's Avatar

    Here is what I did in command file. Log file is attached

    vstest.console /InIsolation /logger:Appveyor "C:\projects\rsi-repo\RSI.API.Tests\bin\Debug\RSI.API.Tests.dll"
    echo after one
    vstest.console /InIsolation /logger:Appveyor "C:\projects\rsi-repo\RSI.Test\bin\Debug\RSI.Test.dll"
    echo after two
    vstest.console /InIsolation /logger:Appveyor "C:\projects\rsi-repo\RSI.API.Tests\bin\Debug\RSI.API.Tests.dll" "C:\projects\rsi-repo\RSI.Test\bin\Debug\RSI.Test.dll"
    echo after onetwo
    exit 0
    echo after tests

  17. 17 Posted by Ilya Finkelshte... on Oct 11, 2016 @ 11:33 PM

    Ilya Finkelshteyn's Avatar

    So from this we know that exit 0 did not help. But we dont know if removing one of dlls helps or not... Can you try to run with only one dll and then another?

  18. 18 Posted by mainak on Oct 12, 2016 @ 03:44 PM

    mainak's Avatar

    I kept one at a time and empty one works however the one with 44 tests gave the same result (stuck).

       Attaching log and log1 for passed and failed

  19. 19 Posted by Ilya Finkelshte... on Oct 12, 2016 @ 04:33 PM

    Ilya Finkelshteyn's Avatar

    We can go one the two (or both) routes now:

    1. Search for sick test, by commenting half of them, then another half, etc.

    2. Try to run vstest.console in PowerShell environment, like

    - ps: vstest.console /InIsolation /logger:Appveyor "C:\projects\rsi-repo\RSI.API.Tests\bin\Debug\RSI.API.Tests.dll" "C:\projects\rsi-repo\RSI.Test\bin\Debug\RSI.Test.dll"
    
  20. 20 Posted by mainak on Oct 12, 2016 @ 08:17 PM

    mainak's Avatar

    Hi Llya,

        Thank you so much. I figured out which test was causing the issue. it's weird that it works on local machine however doesn't on AppVayor. Anyway, thank you so much for your help.

        Please consider issue to be resolved.

    Regards
    Mainak

  21. 21 Posted by Ilya Finkelshte... on Oct 12, 2016 @ 08:27 PM

    Ilya Finkelshteyn's Avatar

    You are welcome :) However we are interested in repro. If you can somehow share simplified repro in public repository it would be great. We would be happy to investigate this to prevent from happening in the future...

    --ilya,

  22. 22 Posted by chris+appveyor on Dec 27, 2016 @ 08:32 PM

    chris+appveyor's Avatar

    I just had this problem where one of my tests started another process (a daemon) and then aborted, so it failed to kill the daemon. This prevented the CTest test from exiting until it timed out.

    I followed this advice and created a job object in the test to contain all the child processes, to ensure that they die along with the test process if not killed already.

  23. Ilya Finkelshteyn closed this discussion on Aug 25, 2018 @ 02:10 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac