Bug 424701 - The eclipse synchronized C/C++ project fails to synchronize
Summary: The eclipse synchronized C/C++ project fails to synchronize
Status: NEW
Alias: None
Product: PTP
Classification: Tools
Component: RDT.sync (show other bugs)
Version: 7.0.3   Edit
Hardware: PC Linux
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-27 12:04 EST by Oussama Gh CLA
Modified: 2014-05-29 16:43 EDT (History)
2 users (show)

See Also:


Attachments
eclipse log file (206.85 KB, text/plain)
2013-12-27 12:04 EST, Oussama Gh CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oussama Gh CLA 2013-12-27 12:04:05 EST
Created attachment 238587 [details]
eclipse log file

I tried to create synchronized C/C++ project for linux kernel (very big project) with Eclipse Kepler, however project synchronization always fails to start between local and remote host (initial files on local host).

I've got the following error/exception:

In the beginning I got the error g++ was not found.
I had gcc installed and g++ not installed and Eclipse compiler command pattern is configured as "(gcc)|([gc]\+\+)|(clang)". So I suppose gcc should be used instead of g++, but eclipse had used g++.
I bypassed this issue by installing g++ and specify the g++ path in "Command to get compiler specs" (like this /usr/bin/${COMMAND} -E -P -v -dD "${INPUTS}" -nostdinc)

Later I got this exception:

An internal error occurred during: "Remote Synchronization". Exception caught during execution of add command.

However there is no issue if I create synchronized project for small project.

You find attached the eclipse log file that log all issue I found.
Comment 1 Oussama Gh CLA 2013-12-30 04:18:17 EST
I fixed the "add command" exception by deleting index.lock file.
Now eclipse hangs in synchronization at 0% and in log file I can see the exception
org.eclipse.equinox.security.storage.StorageException: No password was found. Value of "org.eclipse.ptp.remotetools.environment.generichost.login-password" is being stored as a non-encrypted value in the node  "/Remote Host/neptune".
Comment 2 John Eblen CLA 2013-12-30 10:50:28 EST
A newly-created synchronized project first downloads all remote files. Until this completes, it will report 0% progress. (Yes, this should be fixed.) If it is taking too long, try modifying the file filter inside the new project wizard. Avoid synchronizing large binaries and source files not needed for your current work. (You can always change the filter later to download additional files.)

The StorageException is unrelated to synchronized projects.
Comment 3 Oussama Gh CLA 2013-12-31 06:04:31 EST
I've created a new synchronized C/C++ project and I let it synchronize/indexing. After a while (more than an hour) it displayed:
An internal error occurred during: "Remote Synchronization".
java.lang.NullPointerException

Exception details:
!ENTRY org.eclipse.core.jobs 4 2 2013-12-31 11:31:18.238
!MESSAGE An internal error occurred during: "Remote Synchronization".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.ptp.rdt.sync.core.SyncManager.getFileFilter(SyncManager.java:226)
	at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService.irrelevantPath(GitSyncService.java:230)
	at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService.access$0(GitSyncService.java:229)
	at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService$1.visit(GitSyncService.java:278)
	at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:126)
	at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:85)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
	at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:95)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:124)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:108)
	at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService.synchronize(GitSyncService.java:275)
	at org.eclipse.ptp.internal.rdt.sync.core.SyncRunner.synchronize(SyncRunner.java:38)
	at org.eclipse.ptp.rdt.sync.core.SyncManager$SynchronizeJob.run(SyncManager.java:79)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

I'm using eclipse-cdt/xubuntu/virtuabox, may be my environment performance is not good enough ...
Comment 4 John Eblen CLA 2014-01-06 10:06:11 EST
Sorry, I had assumed your initial files were remote, even though you wrote in comment 1 that they were local.

In this case, sync will initially crawl the project directory to insert ".gitignore" files. See bug 412716. It looks like this is taking a long time for your project, probably because of its size. File filtering should help this problem too. Filtered directories will not be visited.

I don't know why the NPE occurs, but filtering should either solve the problem or at least cause the NPE to occur more quickly.
Comment 5 Oussama Gh CLA 2014-01-06 12:06:36 EST
Yes, I have seen .gitignore created, my project is about 72 MB of
source code with many sub directories. and i'm over VirtualBox, and my
system seems a little slow, specially for file access.
Comment 6 Greg Watson CLA 2014-05-29 16:43:36 EDT
Reassigning.