Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 365298 - Http checkout via EGit behind a proxy
Summary: Http checkout via EGit behind a proxy
Status: CLOSED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: Core (show other bugs)
Version: 1.2   Edit
Hardware: PC Linux
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-01 06:22 EST by Dmitriy CLA
Modified: 2011-12-13 04:38 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitriy CLA 2011-12-01 06:22:49 EST
Build Identifier: 

Hi, the import for git does not work if you are behind a proxy.

Reproducible: Always

Steps to Reproduce:
1. Configure your proxy in the Ecipse preferences
2. Select File -> Import ->Git -> Git Repository
3. Trying to clone some repository will cause an error:
     Cannot list the available branches
     Reason:
     java.lang.ArrayIndexOutOfBoundsException
Comment 1 Matthias Sohn CLA 2011-12-01 08:17:52 EST
strange, I am using EGit (usually current nightly) over HTTP proxy every day...

Please provide the stack trace for this exception.
Comment 2 Matthias Sohn CLA 2011-12-01 08:25:22 EST
If you are trying this against a Git repository hosted by eclipse.org ask the webmaster if HTTPS access to this repository has been enabled [1].

[1] http://wiki.eclipse.org/Git#Setting_up_https_for_pushing
Comment 3 Dmitriy CLA 2011-12-02 10:46:28 EST
(In reply to comment #2)
> If you are trying this against a Git repository hosted by eclipse.org ask the
> webmaster if HTTPS access to this repository has been enabled [1].
> 
> [1] http://wiki.eclipse.org/Git#Setting_up_https_for_pushing

Thanks, but I'm trying to import github repo.
Comment 4 Dmitriy CLA 2011-12-02 10:48:47 EST
(In reply to comment #1)
> strange, I am using EGit (usually current nightly) over HTTP proxy every day...
> 
> Please provide the stack trace for this exception.

How can I do this?
eclipse -consolelog -debug doesn't help. It doesn't show any information related to the error message.
Comment 5 Dmitriy CLA 2011-12-02 10:53:32 EST
I'm not a java developer but I think that this is definitely a bug. Because someone doesn't check array boundaries :(
Comment 6 Remy Suen CLA 2011-12-02 14:32:02 EST
There may be something in your workspace's log file (workspace/.metadata/.log).
Comment 7 Dmitriy CLA 2011-12-05 03:53:59 EST
WOW! There is a lot of NullPointerException! Is this ok?

!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-12-05 09:51:49.735
!MESSAGE org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=Warning: Platform proxy API not available;severity2;exception=java.lang.NullPointerException;children=[]]
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.net.ProxyManager.tryGetURI(ProxyManager.java:322)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:299)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:364)
	at org.eclipse.core.internal.net.ProxyManager.select(ProxyManager.java:441)
	at org.eclipse.ecf.provider.filetransfer.util.ProxySetupHelper.getProxy(ProxySetupHelper.java:40)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.setupProxies(AbstractRetrieveFileTransfer.java:956)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:888)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:576)
	at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:106)
	at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.sendRetrieveRequest(FileReader.java:349)
	at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.readInto(FileReader.java:295)
	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:80)
	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:130)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadIndexFile(AbstractRepositoryManager.java:721)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:640)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:150)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:128)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:72)

!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-12-05 09:51:49.743
!MESSAGE org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=Warning: Platform proxy API not available;severity2;exception=java.lang.NullPointerException;children=[]]
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.net.ProxyManager.tryGetURI(ProxyManager.java:322)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:299)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:364)
	at org.eclipse.core.internal.net.ProxyManager.select(ProxyManager.java:441)
	at org.eclipse.ecf.provider.filetransfer.util.ProxySetupHelper.getProxy(ProxySetupHelper.java:40)
	at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser.setupProxies(AbstractFileSystemBrowser.java:226)
	at org.eclipse.ecf.provider.filetransfer.browse.URLFileSystemBrowser.runRequest(URLFileSystemBrowser.java:91)
	at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-12-05 09:51:51.340
!MESSAGE org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=Warning: Platform proxy API not available;severity2;exception=java.lang.NullPointerException;children=[]]
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.net.ProxyManager.tryGetURI(ProxyManager.java:322)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:299)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:364)
	at org.eclipse.core.internal.net.ProxyManager.select(ProxyManager.java:441)
	at org.eclipse.ecf.provider.filetransfer.util.ProxySetupHelper.getProxy(ProxySetupHelper.java:40)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.setupProxies(AbstractRetrieveFileTransfer.java:956)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:888)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:576)
	at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:106)
	at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.sendRetrieveRequest(FileReader.java:349)
	at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.readInto(FileReader.java:295)
	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:80)
	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:130)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadIndexFile(AbstractRepositoryManager.java:721)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:640)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:150)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:128)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:72)

!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-12-05 09:51:51.371
!MESSAGE org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=Warning: Platform proxy API not available;severity2;exception=java.lang.NullPointerException;children=[]]
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.net.ProxyManager.tryGetURI(ProxyManager.java:322)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:299)
	at org.eclipse.core.internal.net.ProxyManager.getProxyDataForHost(ProxyManager.java:364)
	at org.eclipse.core.internal.net.ProxyManager.select(ProxyManager.java:441)
	at org.eclipse.ecf.provider.filetransfer.util.ProxySetupHelper.getProxy(ProxySetupHelper.java:40)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.setupProxies(AbstractRetrieveFileTransfer.java:956)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:888)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:576)
	at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:106)
	at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.sendRetrieveRequest(FileReader.java:349)
	at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.readInto(FileReader.java:295)
	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:80)
	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:130)
	at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.loadActualSiteFile(UpdateSite.java:202)
	at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.load(UpdateSite.java:144)
	at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory.initializeRepository(UpdateSiteMetadataRepositoryFactory.java:87)
	at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory.load(UpdateSiteMetadataRepositoryFactory.java:56)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:749)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:150)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:128)
	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:72)
Comment 8 Dmitriy CLA 2011-12-05 06:04:20 EST
I've downloaded the latest version of Eclipse for Linux C/C++ developers and tried on new empty workspace - result is the same. But in this case there is no any exceptions at all.
Proxy as in the first case was manually configured and checked by installing the new plugins through Eclipse Help menu.
Also, I've noticed that this exception seems to appears exactly after it got a branch list. Because without a correct configured proxy it tries to get branch list much longer.
Comment 9 Remy Suen CLA 2011-12-05 08:41:00 EST
It feels to me like the system doesn't like the input that you've provided for your proxy settings.
Comment 10 Dmitriy CLA 2011-12-06 09:28:52 EST
Seems not. I've tried proxy username as "Domain\UserName" and as "UserName".
I even tried to import repo from local directory - Eclipse does not import, just creates empty project (which I set up from wizard during import). After import I tried to "Share Project..." and it works! But when I've tried to commit, pull or update something Eclipse throws exactly the same exception.
Comment 11 Matthias Sohn CLA 2011-12-06 19:37:46 EST
Can you update Eclipse using these proxy settings when you are behind this proxy ?
Comment 12 Dmitriy CLA 2011-12-07 05:20:33 EST
Yep, I did it right now (EGit night build; but error still exists).
Comment 13 Matthias Sohn CLA 2011-12-09 14:11:10 EST
If it still happens we need the stacktrace for the ArrayIndexOutOfBoundsException, blind guessing doesn't bring us forward. Open "Window > Show View > Error Log".
Comment 14 Dmitriy CLA 2011-12-13 04:37:46 EST
It is working! With last night build.
Thanks for your efforts, guys!