Extension "ComponentOneLicenseAdder" causes Visual Studio hangs

Posted by: wknauf on 30 August 2020, 10:36 pm EST

  • Posted 30 August 2020, 10:36 pm EST

    Hi C1,

    since a few days, I observe a Visual Studio 2019 hang when a solution/project is open and the "csproj" file is changed by an external tool.

    To reproduce: use the attached file "ColorWatcher.zip" (it is just a small helper utility of ours, the content is probably not relevant).
    1) open the solution
    2) open the "ColorWatcher.csproj" file with an editor and make any change. Save the change!
    3) the message "project was modified. Reload?" pops up => click "Reload":

    4) now it hangs at "Unloading the selected projects" step forever:


    It works when disabling the extension "ComponentOneLicenseAdder".


    This "external change" happens quite often for us because of the way our solutions are organized.
    For example, we have two solutions which share projects. If I have both solutions open and perform a "Get latest version" and a colleague has committed a change to the project file, then the solution will reload in the current Visual Studio instance, but the second instance will hang.
    The same happens if I merge a change from RELEASE to DEV branch and I have the DEV branch solution open in another Visual Studio.

    Best regards

    Wolfgang

    For the records: this was first posted in the Microsoft Developer Community: https://developercommunity.visualstudio.com/content/problem/1161745/visual-studio-2019-hangs-after-external-project-fi.html
  • Replied 31 August 2020, 10:45 pm EST

    Hello,

    Thank you for reporting this issue.
    We have escalated this to the developers and will let you know the updates soon.
    [Internal Tracking ID: 460495]

    Regards,
    Prabhat Sharma.
  • Replied 1 September 2020, 6:36 pm EST

    It seems I forgot to attach the sample project...
    ColorWatcher.zip
  • Replied 1 September 2020, 11:50 pm EST

    Hello,

    The issue can be observed with any sample so we did not ask for the sample.

    Regards,
    Prabhat Sharma.
  • Replied 20 September 2020, 9:19 pm EST

    Hi Wolfgang,

    We are happy to inform you that the issue has been resolved.
    You can reinstall the latest version using the latest ComponentOneControlPanel utility to fix the issue at your end.
    https://www.grapecity.com/componentone/download
    Regards,
    Prabhat Sharma.

  • Replied 21 September 2020, 12:25 am EST

    I can confirm that it works with installer 20202.1.11

    Thanks for the fast fix!

    It seems there is a delay of about 5 seconds during "Unloading...", which does not happen if the extension is disabled.

    Wolfgang
  • Replied 21 September 2020, 6:56 pm EST

    Hello Wolfgang,

    We too can observe the same behavior and discussing this with the developers.

    Regards,
    Prabhat Sharma.
  • Replied 24 November 2020, 6:23 pm EST

    Hi,

    any updates on those delays?

    Best regards

    Wolfgang
  • Replied 30 November 2020, 5:34 pm EST

    Hi Wolfgang,

    Our developers are working on this issue. We will let you know once we get any update on this from their end.

    Regards,
    Prabhat Sharma.
  • Replied 18 January 2021, 7:03 pm EST

    Hi,

    it seems this issue is related: we observe an enourmous Visual Studio delay when we open the Source Control Explorer, browse to one of our solutions and double click the sln file in Source Control Explorer.
    Now, loading each project of the solution takes a very long time:

    This does not seem to happen always, but quite often.

    My first suspect was this issue, so I disabled the extension "ComponentOneLicenseAdder".

    But though it is disabled, I observe this: When attaching another Visual Studio and break in debugger, there is a thread with this call stack:

    > mscorlib.dll!System.Threading.Thread.Sleep(int millisecondsTimeout)
    ComponentOneLicenseAdder.dll!GrapeCity.Tools.ComponentOneLicenseAdder.ComponentOneLicenseAdderPackage._refEvents_ReferenceAdded.AnonymousMethod__0()
    mscorlib.dll!System.Threading.Tasks.Task.InnerInvoke()
    mscorlib.dll!System.Threading.Tasks.Task.Execute()
    mscorlib.dll!System.Threading.Tasks.Task.ExecutionContextCallback(object obj)
    mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
    mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
    mscorlib.dll!System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot)
    mscorlib.dll!System.Threading.Tasks.Task.ExecuteEntry(bool bPreventDoubleExecution)
    mscorlib.dll!System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch()
    mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()


    As the ComponentOneLicenseAdder extension is disabled, why is it running anyway?

    I recently installed 2020v3, but the LicenseAdder still has a 2020v2 version.

    Best regards

    Wolfgang
  • Replied 13 January 2021, 8:59 pm EST

    Hello Wolfgang,


    We are not able to replicate the issue at our end. Can you please share the exact steps so that we can replicate the same at our end and forward it further for investigation.

    >>I recently installed 2020v3, but the LicenseAdder still has a 2020v2 version.
    I am getting in touch with the concerned team to get the information on this and will let you know soon.

    Regards,
    Prabhat Sharma.
  • Replied 14 January 2021, 1:30 am EST

    Hi,

    for me, it seems to happen only for one (large) solution. So it is hard to reproduce for you ;-). Does not happen always, but mostly after two or three tries.

    Was the LicenseAdder code moved to the "ComponentOneMenu" extension?
    When disabling both, it seems the issue does not occur.


    Best regards

    Wolfgang
  • Replied 17 January 2021, 8:45 pm EST

    Hello Wolfgang,

    Sorry for the inconvenience caused to you.
    The version of ComponentOneLicenseAdder extension is still 20202.2.1.11 because no new version of the Extension was created for 2020v3. There was no change/update in the code.

    It seems very odd that disabling ComponentOneMenu and ComponentOneLicenseAdder extension, solves your issue. But by disabling ComponentOneMenu, you will not be able to see the GrapeCity option in the Tools menu.

    Please share the following information so that we can investigate this further:

    1: Are you also getting this issue when opening the solution locally from the system?
    2: The complete call stack of the error.
    3: Your environment details.

    Regards,
    Prabhat Sharma.
  • Replied 18 January 2021, 7:31 pm EST

    Hi Prabhat,

    today, I can reproduce the issue only when the extension "ComponentOneLicenseAdder" is enabled. "ComponentOneMenu" does not cause trouble. Maybe Visual Studio caches the loaded extension sometimes? So, it does not seem to be related to "ComponentOneMenu".

    The callstack is in one of my previous my posts.

    My steps to reproduce:
    1) I start a blank Visual Studio, open "Solution Explorer", browse to the solution and double click the ".sln" file.
    2) If this works, I call "File" => "Close Solution".
    3) A new form "What would you like to to" pops up => I close this.
    4) Then I repeat the steps. The error always occurs at second or third try.

    Today I noticed that it is also reproduceable when opening the sln file from the "Recent projects and solutions" menu item.

    Opening the file by double clicking the SLN file in windows explorer always works - but this starts a new Visual Studio instance always and is a different approach.

    I identified a small solution (with only two projects) where a delay of about 5 seconds per project happens. This seems to be the delay that I initially reported.
    In our large solution (97 projects), this means several minutes of waiting time. But I am not sure whether the loading delay per project is even longer there.

    I don't want to post this solution here. But I could create a support ticket and post the issue number here. Would this be OK?

    Best regards

    Wolfgang
  • Marked as Answer

    Replied 19 January 2021, 10:22 pm EST

    Hello Wolfgang,

    We have created an S1 case for this on the below-given link:
    https://supportone.componentone.com/casedetail/472087

    So I request you to continue the thread there only to avoid confusion.

    Regards,
    Prabhat Sharma.
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels