pombreda / egit

Automatically exported from code.google.com/p/egit
0 stars 0 forks source link

Local fetch hangs in Eclipse #87

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create a local clone, i.e. a file system URL
2. Perform an incremental fetch later on, when there are changed

What is the expected output? What do you see instead?
- I'd expect the clone to finish. Instead it hangs. Not always, but often.

Two interesting Threads:

"JGit-Upload-Pack" prio=6 tid=0x04c50c00 nid=0xcbc in Object.wait()
[0x07ecf000..0x07ecfd94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0f424eb0> (a java.io.PipedInputStream)
    at java.io.PipedInputStream.awaitSpace(Unknown Source)
    at java.io.PipedInputStream.receive(Unknown Source)
    - locked <0x0f424eb0> (a java.io.PipedInputStream)
    at java.io.PipedOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at
org.spearce.jgit.transport.PacketLineOut.writePacket(PacketLineOut.java:63)
    at
org.spearce.jgit.transport.PacketLineOut.writeString(PacketLineOut.java:57)
    at
org.spearce.jgit.transport.UploadPack.negotiate(UploadPack.java:362)
    at
org.spearce.jgit.transport.UploadPack.service(UploadPack.java:196)
    at org.spearce.jgit.transport.UploadPack.upload(UploadPack.java:187)
    at
org.spearce.jgit.transport.TransportLocal$InternalLocalFetchConnection$2.run

"Worker-0" prio=6 tid=0x04aa4800 nid=0x1bc in Object.wait()
[0x0684f000..0x0684fa94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0f424f40> (a
org.spearce.jgit.transport.TransportLocal$InternalLocalFetchConnection$1)
    at java.io.PipedInputStream.awaitSpace(Unknown Source)
    at java.io.PipedInputStream.receive(Unknown Source)
    - locked <0x0f424f40> (a
org.spearce.jgit.transport.TransportLocal$InternalLocalFetchConnection$1)
    at java.io.PipedOutputStream.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
    at java.io.BufferedOutputStream.flush(Unknown Source)
    - locked <0x0f426ff8> (a java.io.BufferedOutputStream)
    at
org.spearce.jgit.transport.PacketLineOut.flush(PacketLineOut.java:81)
    at
org.spearce.jgit.transport.PacketLineOut.end(PacketLineOut.java:77)
    at
org.spearce.jgit.transport.BasePackFetchConnection.negotiate(BasePackFetchCo
    at
org.spearce.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConn
    at
org.spearce.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnec
    at
org.spearce.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:180)
    at
org.spearce.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
    at org.spearce.jgit.transport.Transport.fetch(Transport.java:654)
    at
org.spearce.egit.ui.internal.fetch.FetchWizard$FetchJob.run(FetchWizard.java
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

The stacks were obtained using jstack on Windows XP.

Original issue reported on code.google.com by robin.ro...@gmail.com on 8 May 2009 at 8:44

GoogleCodeExporter commented 9 years ago
This one I guess i unrelated.

"Worker-11" prio=6 tid=0x04f10c00 nid=0x1320 runnable [0x07cff000..0x07cffb14]
   java.lang.Thread.State: RUNNABLE
    at java.io.WinNTFileSystem.getLastModifiedTime(Native Method)
    at java.io.File.lastModified(Unknown Source)
    at org.spearce.jgit.lib.RefDatabase.readOneLooseRef(RefDatabase.java:243)
    - locked <0x0d9fffb8> (a org.spearce.jgit.lib.RefDatabase)
    at org.spearce.jgit.lib.RefDatabase.readLooseRefs(RefDatabase.java:232)
    at org.spearce.jgit.lib.RefDatabase.readOneLooseRef(RefDatabase.java:254)
    - locked <0x0d9fffb8> (a org.spearce.jgit.lib.RefDatabase)
    at org.spearce.jgit.lib.RefDatabase.readLooseRefs(RefDatabase.java:232)
    at org.spearce.jgit.lib.RefDatabase.readOneLooseRef(RefDatabase.java:254)
    - locked <0x0d9fffb8> (a org.spearce.jgit.lib.RefDatabase)
    at org.spearce.jgit.lib.RefDatabase.readLooseRefs(RefDatabase.java:232)
    at org.spearce.jgit.lib.RefDatabase.readRefs(RefDatabase.java:205)
    at org.spearce.jgit.lib.RefDatabase.getAllRefs(RefDatabase.java:186)
    at org.spearce.jgit.lib.Repository.getAllRefs(Repository.java:796)
    at org.spearce.jgit.lib.Repository.scanForRepoChanges(Repository.java:1049)
    at org.spearce.egit.ui.Activator$RCS.run(Activator.java:332)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Original comment by robin.ro...@gmail.com on 8 May 2009 at 9:10

GoogleCodeExporter commented 9 years ago
Fixed in 3eaf3931863707bf36efe932ecfbb39fe0e48b06

Original comment by robin.ro...@gmail.com on 12 May 2009 at 7:59