Internal server error during git-upload-pack

1,316 views
Skip to first unread message

Ping Yin

unread,
Apr 20, 2011, 4:42:44 AM4/20/11
to repo-discuss
The gerrit exeptions raise for some times each day, how can i avoid
these exceptions?

Example 1

ERROR com.google.gerrit.sshd.BaseCommand : Internal server error (user
shbow account 4) during git-upload-pack
'/android/platform/manifest.git'
com.google.gerrit.sshd.BaseCommand$Failure: fatal: client IO read/write timeout
at com.google.gerrit.sshd.commands.Upload.runImpl(Upload.java:52)
at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:104)
at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:34)
at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:69)
at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:395)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:324)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.InterruptedIOException
at org.apache.sshd.common.channel.ChannelPipedInputStream.read(ChannelPipedInputStream.java:83)
at org.eclipse.jgit.util.IO.readFully(IO.java:175)
at org.eclipse.jgit.transport.PacketLineIn.readLength(PacketLineIn.java:141)
at org.eclipse.jgit.transport.PacketLineIn.readString(PacketLineIn.java:108)
at org.eclipse.jgit.transport.UploadPack.negotiate(UploadPack.java:457)
at org.eclipse.jgit.transport.UploadPack.service(UploadPack.java:351)
at org.eclipse.jgit.transport.UploadPack.upload(UploadPack.java:313)
at com.google.gerrit.sshd.commands.Upload.runImpl(Upload.java:50)
... 13 more
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.apache.sshd.common.channel.ChannelPipedInputStream.read(ChannelPipedInputStream.java:81)
... 20 more

Example 2

[2011-04-20 15:50:21,099] ERROR com.google.gerrit.sshd.BaseCommand :
Internal server error (user ygao account 67) during git-upload-pack
'android/bootable/bootloader/u-boot'
org.apache.sshd.common.SshException
at org.apache.sshd.common.channel.ChannelOutputStream.flush(ChannelOutputStream.java:128)
at org.apache.sshd.common.channel.ChannelOutputStream.write(ChannelOutputStream.java:75)
at org.eclipse.jgit.transport.SideBandOutputStream.writeBuffer(SideBandOutputStream.java:154)
at org.eclipse.jgit.transport.SideBandOutputStream.write(SideBandOutputStream.java:134)
at org.eclipse.jgit.storage.pack.PackOutputStream.write(PackOutputStream.java:124)
at org.eclipse.jgit.storage.file.ByteArrayWindow.write(ByteArrayWindow.java:85)
at org.eclipse.jgit.storage.file.PackFile.copyAsIs2(PackFile.java:427)
at org.eclipse.jgit.storage.file.PackFile.copyAsIs(PackFile.java:290)
at org.eclipse.jgit.storage.file.WindowCursor.copyObjectAsIs(WindowCursor.java:147)
at org.eclipse.jgit.storage.pack.PackWriter.writeObject(PackWriter.java:837)
at org.eclipse.jgit.storage.pack.PackWriter.writeBaseFirst(PackWriter.java:880)
at org.eclipse.jgit.storage.pack.PackWriter.writeObject(PackWriter.java:830)
at org.eclipse.jgit.storage.pack.PackOutputStream.writeObject(PackOutputStream.java:161)
at org.eclipse.jgit.storage.file.WindowCursor.writeObjects(WindowCursor.java:153)
at org.eclipse.jgit.storage.pack.PackWriter.writeObjects(PackWriter.java:815)
at org.eclipse.jgit.storage.pack.PackWriter.writePack(PackWriter.java:503)
at org.eclipse.jgit.transport.UploadPack.sendPack(UploadPack.java:657)
at org.eclipse.jgit.transport.UploadPack.service(UploadPack.java:352)
at org.eclipse.jgit.transport.UploadPack.upload(UploadPack.java:313)
at com.google.gerrit.sshd.commands.Upload.runImpl(Upload.java:50)
at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:104)
at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:34)
at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:69)
at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:395)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:324)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.apache.sshd.common.channel.Window.waitForSpace(Window.java:146)
at org.apache.sshd.common.channel.ChannelOutputStream.flush(ChannelOutputStream.java:104)
... 32 more
[2011-04-20 15:50:21,099] WARN
org.apache.sshd.server.session.ServerSession : Exception caught
org.apache.mina.core.write.WriteToClosedSessionException
at org.apache.mina.core.polling.AbstractPollingIoProcessor.clearWriteRequestQueue(AbstractPollingIoProcessor.java:618)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:569)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.removeSessions(AbstractPollingIoProcessor.java:539)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:66)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1086)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Shawn Pearce

unread,
Apr 20, 2011, 9:28:29 AM4/20/11
to Ping Yin, repo-discuss

Tell your users to stop disconnecting in the middle of an operation. These errors are because the client has gone away and the server cannot write to the closed socket.

Unfortunately trapping these write errors and hiding them from the log has proven difficult. Thus far any attempt I have made has also hidden relevant exceptions, so I have chosen the verbose route here and log everything.

Ping Yin

unread,
Apr 20, 2011, 9:51:17 AM4/20/11
to Shawn Pearce, repo-discuss
On Wed, Apr 20, 2011 at 9:28 PM, Shawn Pearce <s...@google.com> wrote:
> Tell your users to stop disconnecting in the middle of an operation. These
> errors are because the client has gone away and the server cannot write to
> the closed socket.
>

Thanks. I just want to make sure there is nothing wrong about the server config.

Reply all
Reply to author
Forward
0 new messages