Problem with TFS Everywhere plugin and TI CCS IDE

Unanswered Problem with TFS Everywhere plugin and TI CCS IDE

  • mardi 26 juin 2012 12:33
     
     

    Hi everybody,

    I'm using TI CCS 5.1 IDE (which as far as I can see is based on Eclipse 3.7) for compiling C programs and the TFS Everywhere Eclipse plugin for source control.

    Everything works OK expect one thing:

    The CCS IDE has an option to build projects from the commandline.

    This works fine when the projects are not under source control but when the project is under source control the build just freezes and never finishes.

    (And just to make sure that it's realy the TFS plugin that's causing it when I disconnect the projects permenantly from the source control and try to build it works perfectly..)

    Can anybody help me with this problem?

    Thanks,

    Nadav

    BTW, I'm also asking this question on the TI support forums.

Toutes les réponses

  • mardi 26 juin 2012 14:07
     
     

    Hi Nadav,

    It might be that the build process is trying to edit some files and those files are under source control so they are not checked out which means they are not writable. Please let me know if this is the case and we can work it from there.

    Please let me know if you have any other questions/issues.

    Thanks

    Mireille

  • jeudi 28 juin 2012 06:01
     
     

    Hi Mireille,

    How can I tell if the build process is trying to edit some files?

    I don't know what the TI/Eclpse build process is doing...

    Thanks,

    Nadav

  • jeudi 28 juin 2012 14:23
     
     

    Hi Nadav,

    If you are running on windows, one way to check is to use a tool called Process Explorer, it is part of windows sysinternals, it will tell you which program has ur files opened or updated.

    Please let me know if you have any questions / issues.

    Thanks

    Mireille

  • lundi 2 juillet 2012 08:34
     
     

    Hi Mireille,

    I've checked the eclipsec.exe process using ProcessExplorer and I see it's got file handles open for the the directories when my projects are, but no files are open.

    (the only file in my workspace/project that is open is <workspace>\.metadata\.plugins\org.eclipse.cdt.core\.log but I don't see anything written there from today).

    Looking in filemoniter I see that the eclipsec.exe file reads from the directories where my folders are, No files are opened.

    It it reads from C:\Program Files\Texas Instruments\ccsv5\eclipse\plugins\com.microsoft.tfs.client.eclipse_10.1.0.201112140701\com\microsoft\tfs\client\eclipse\TFSRepositoryProvider$TFSRepositoryProviderRuleFactory.class & C:\Program Files\Texas Instruments\ccsv5\eclipse\plugins\org.eclipse.equinox.util_1.0.300.v20110502.jar

    and then it freezes.

    I don't see any files accesses, the only tcp connections the eclipse has open are to the licensing service, 0% CPU.

    I hope this information will help you,

    Nadav

  • mardi 3 juillet 2012 20:58
    Modérateur
     
     

    Are you building directly inside the directory that contains an Eclipse project?  If so, it's likely that Eclipse is detecting each compiled file as a new file and notifying the TFS plug-in that new files exist.  At this point, the TFS plug-in for Eclipse will examine the new files and attempt to pend adds for those files in TFS.  If the build script also removes those files, if they were intermediate in the build process, then Eclipse would again notice those were detected.

    This should not cause hangs, but it may cause things to be very slow indeed as the plug-in scans files that are being added, edited and deleted by your build and would cause significant disk contention.

    Can you perform a build in a different directory?  If not, can you make sure that you have correctly identified the resources that are getting generated as part of a build and ensure that they are marked as derived resources, or they are set to be ignored as part of the .tpignore file.

    If you're still having problems, the output of running the jstack command on your IDE may be helpful.

  • mercredi 4 juillet 2012 11:35
     
     

    The output of the build is in a subdirectory of the project directory.

    It can't be the the eclipse is detecting new compiled files becuase the compilation never starts!

    As far as I can see Eclipse does not read any of the project files, nor does it start any sub processes (i.e. it does not run make or any compilers).

    The eclipse seems to hang before build starts...

    Nadav

    Here is the result of running JStack on the eclipse process:

    2012-07-04 14:50:41
    Full thread dump Java HotSpot(TM) Client VM (11.3-b02 mixed mode):

    "[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x2ad32400 nid=0x5870 in Object.wait() [0x3107f000..0x3107fb14]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x02c55b80> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
     at java.lang.Object.wait(Object.java:485)
     at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
     - locked <0x02c55b80> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

       Locked ownable synchronizers:
     - None

    "Worker-4" prio=6 tid=0x2c169800 nid=0x18f0 in Object.wait() [0x30f6f000..0x30f6fb94]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04bd24a0> (a java.lang.Object)
     at java.lang.Object.wait(Object.java:485)
     at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:272)
     - locked <0x04bd24a0> (a java.lang.Object)
     at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:199)
     at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
     at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286)
     at org.eclipse.core.internal.utils.StringPoolJob.run(StringPoolJob.java:101)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

       Locked ownable synchronizers:
     - None

    "Worker-3" prio=6 tid=0x2c16ec00 nid=0x5948 in Object.wait() [0x30e6f000..0x30e6fc14]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04bd24a0> (a java.lang.Object)
     at java.lang.Object.wait(Object.java:485)
     at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:272)
     - locked <0x04bd24a0> (a java.lang.Object)
     at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:199)
     at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
     at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286)
     at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118)
     at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2282)
     at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1649)
     at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:167)
     at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

       Locked ownable synchronizers:
     - None

    "Worker-2" prio=6 tid=0x2bf94800 nid=0x4130 in Object.wait() [0x30bbf000..0x30bbfc94]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04d679e0> (a org.eclipse.core.internal.jobs.Semaphore)
     at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:39)
     - locked <0x04d679e0> (a org.eclipse.core.internal.jobs.Semaphore)
     at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:176)
     at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:110)
     at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:84)
     at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:217)
     at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:507)
     at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97)
     at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105)
     at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:93)
     at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:166)
     at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1647)
     at org.eclipse.cdt.internal.core.pdom.PDOMSetupJob.syncronizeProjectSettings(PDOMSetupJob.java:73)
     at org.eclipse.cdt.internal.core.pdom.PDOMSetupJob.run(PDOMSetupJob.java:55)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

       Locked ownable synchronizers:
     - None

    "Worker-1" prio=6 tid=0x2c005400 nid=0x3094 waiting for monitor entry [0x30abf000..0x30abfd14]
       java.lang.Thread.State: BLOCKED (on object monitor)
     at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.testLicense(ProjectRepositoryManager.java:672)
     - waiting to lock <0x04da9528> (a java.lang.Object)
     at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.connectInternal(ProjectRepositoryManager.java:604)
     at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.connectIfNecessary(ProjectRepositoryManager.java:449)
     at com.microsoft.tfs.client.eclipse.TFSRepositoryProvider$1.run(TFSRepositoryProvider.java:111)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

       Locked ownable synchronizers:
     - None

    "Worker-0" prio=6 tid=0x2bf33c00 nid=0x4d8c in Object.wait() [0x3087f000..0x3087fd94]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x02b95700> (a org.eclipse.swt.widgets.RunnableLock)
     at java.lang.Object.wait(Object.java:485)
     at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
     - locked <0x02b95700> (a org.eclipse.swt.widgets.RunnableLock)
     at org.eclipse.swt.widgets.Display.syncExec(Display.java:4683)
     at com.microsoft.tfs.client.common.ui.framework.helper.UIHelpers.runOnUIThread(UIHelpers.java:258)
     at com.microsoft.tfs.client.common.ui.framework.helper.UIHelpers.runOnUIThread(UIHelpers.java:186)
     at com.microsoft.tfs.client.eclipse.ui.license.TFSEclipseClientUILicenseChecker.isLicensed(TFSEclipseClientUILicenseChecker.java:27)
     at com.microsoft.tfs.client.eclipse.license.TFSEclipseClientLicenseManager.isLicensed(TFSEclipseClientLicenseManager.java:18)
     at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.testLicense(ProjectRepositoryManager.java:674)
     - locked <0x04da9528> (a java.lang.Object)
     at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.connectInternal(ProjectRepositoryManager.java:604)
     at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.start(ProjectRepositoryManager.java:216)
     at com.microsoft.tfs.client.eclipse.TFSEclipseClientPlugin$1.run(TFSEclipseClientPlugin.java:108)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

       Locked ownable synchronizers:
     - None

    "polling thread" daemon prio=6 tid=0x2bfab800 nid=0x2538 in Object.wait() [0x3077f000..0x3077fa14]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04c06a80> (a com.ti.debug.engine.cce.CCEDebugEngine$PollingThread)
     at com.ti.debug.engine.cce.CCEDebugEngine$PollingThread.run(CCEDebugEngine.java:145)
     - locked <0x04c06a80> (a com.ti.debug.engine.cce.CCEDebugEngine$PollingThread)

       Locked ownable synchronizers:
     - None

    "Worker-JM" prio=6 tid=0x2b770800 nid=0x3f08 in Object.wait() [0x2c31f000..0x2c31fa94]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04ae4140> (a java.util.ArrayList)
     at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
     - locked <0x04ae4140> (a java.util.ArrayList)

       Locked ownable synchronizers:
     - None

    "[Timer] - Main Queue Handler" daemon prio=6 tid=0x2b6d0000 nid=0x33ac in Object.wait() [0x2be1f000..0x2be1fb14]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04ae41c0> (a java.lang.Object)
     at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
     - locked <0x04ae41c0> (a java.lang.Object)
     at java.lang.Thread.run(Unknown Source)

       Locked ownable synchronizers:
     - None

    "Framework Event Dispatcher" daemon prio=6 tid=0x2b676800 nid=0x23c0 in Object.wait() [0x2bc1f000..0x2bc1fc14]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04aa4948> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
     at java.lang.Object.wait(Object.java:485)
     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
     - locked <0x04aa4948> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

       Locked ownable synchronizers:
     - None

    "Start Level Event Dispatcher" daemon prio=6 tid=0x2b65f400 nid=0x3098 in Object.wait() [0x2bb1f000..0x2bb1fc94]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04aa49c0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
     at java.lang.Object.wait(Object.java:485)
     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
     - locked <0x04aa49c0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

       Locked ownable synchronizers:
     - None

    "State Data Manager" daemon prio=6 tid=0x2b65d800 nid=0x35e8 waiting on condition [0x2ba1f000..0x2ba1fd14]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
     at java.lang.Thread.sleep(Native Method)
     at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:297)
     at java.lang.Thread.run(Unknown Source)

       Locked ownable synchronizers:
     - None

    "Framework Active Thread" prio=6 tid=0x2b635400 nid=0x5a24 in Object.wait() [0x2b91f000..0x2b91fd94]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x049b31d8> (a org.eclipse.osgi.framework.internal.core.Framework)
     at org.eclipse.osgi.framework.internal.core.Framework.run(Framework.java:1816)
     - locked <0x049b31d8> (a org.eclipse.osgi.framework.internal.core.Framework)
     at java.lang.Thread.run(Unknown Source)

       Locked ownable synchronizers:
     - None

    "Low Memory Detector" daemon prio=6 tid=0x2ad1d000 nid=0xf4 runnable [0x00000000..0x00000000]
       java.lang.Thread.State: RUNNABLE

       Locked ownable synchronizers:
     - None

    "CompilerThread0" daemon prio=10 tid=0x2ad17400 nid=0x4e2c waiting on condition [0x00000000..0x2b37f7bc]
       java.lang.Thread.State: RUNNABLE

       Locked ownable synchronizers:
     - None

    "Attach Listener" daemon prio=10 tid=0x2ad15c00 nid=0x1a8c waiting on condition [0x00000000..0x00000000]
       java.lang.Thread.State: RUNNABLE

       Locked ownable synchronizers:
     - None

    "Signal Dispatcher" daemon prio=10 tid=0x2ad0f800 nid=0x3854 runnable [0x00000000..0x00000000]
       java.lang.Thread.State: RUNNABLE

       Locked ownable synchronizers:
     - None

    "Finalizer" daemon prio=8 tid=0x2acfa400 nid=0x2ff8 in Object.wait() [0x2b07f000..0x2b07fc94]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04863d38> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     - locked <0x04863d38> (a java.lang.ref.ReferenceQueue$Lock)
     at java.lang.ref.ReferenceQueue.remove(Unknown Source)
     at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

       Locked ownable synchronizers:
     - None

    "Reference Handler" daemon prio=10 tid=0x2acf9000 nid=0x359c in Object.wait() [0x2af7f000..0x2af7fd14]
       java.lang.Thread.State: WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04863dc0> (a java.lang.ref.Reference$Lock)
     at java.lang.Object.wait(Object.java:485)
     at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
     - locked <0x04863dc0> (a java.lang.ref.Reference$Lock)

       Locked ownable synchronizers:
     - None

    "main" prio=6 tid=0x00908000 nid=0x224c in Object.wait() [0x0012f000..0x0012fd64]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
     at java.lang.Object.wait(Native Method)
     - waiting on <0x04dac2c8> (a org.eclipse.core.internal.jobs.Semaphore)
     at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:39)
     - locked <0x04dac2c8> (a org.eclipse.core.internal.jobs.Semaphore)
     at org.eclipse.core.internal.jobs.JobManager.join(JobManager.java:847)
     at org.eclipse.core.internal.jobs.InternalJob.join(InternalJob.java:380)
     at org.eclipse.core.runtime.jobs.Job.join(Job.java:385)
     at com.microsoft.tfs.client.eclipse.TFSRepositoryProvider.setProject(TFSRepositoryProvider.java:132)
     at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:206)
     at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:235)
     at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:507)
     at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97)
     at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105)
     at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:93)
     at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:166)
     at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1647)
     at com.ti.ccstudio.project.core.services.ProjectBuilder.internalBuildProjects(ProjectBuilder.java:163)
     at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:146)
     - locked <0x04d71668> (a com.ti.ccstudio.project.core.services.ProjectBuilder)
     at com.ti.ccstudio.apps.project.Build.buildProjects(Build.java:252)
     at com.ti.ccstudio.apps.project.Build.doRun(Build.java:108)
     at com.ti.ccstudio.apps.BaseHeadlessApp$1.run(BaseHeadlessApp.java:208)
     at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
     at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326)
     at com.ti.ccstudio.apps.BaseHeadlessApp.internalRun(BaseHeadlessApp.java:206)
     at com.ti.ccstudio.apps.BaseHeadlessApp.start(BaseHeadlessApp.java:174)
     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
     at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

       Locked ownable synchronizers:
     - None

    "VM Thread" prio=10 tid=0x2acf4000 nid=0x27c8 runnable

    "VM Periodic Task Thread" prio=10 tid=0x2ad1f400 nid=0x3bb8 waiting on condition

    JNI global references: 790

     


    • Modifié Nadav P mercredi 4 juillet 2012 11:53
    •  
  • lundi 6 août 2012 08:22
     
     

    Is any update on this issue?

    Nadav