HTTP500 on push to repo
Hey Anton,
problem is as follows:
sometime ago we had a bad commit + push (wrong branch); we handled
it through hg strip on server + hg rebase on client, which gave no
immediate error.
However, upon pushing said client would receive a HTTP500.
Logs reveal the following:
12:19:13.4228 - Error - myuriev - HgSharp.Server.HgHttpServer - could not commit bundleSystem.IO.EndOfStreamException: End of stream reached with 4 byte left to read.
at MiscUtil.IO.EndianBinaryReader.ReadInternal(Byte[] data, Int32 size)
at MiscUtil.IO.EndianBinaryReader.ReadInt32()
at HgSharp.Core.HgRevlogReader.ReadRevlog(String indexFilePath, String dataFilePath, HgFileSystem fileSystem) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgRevlogReader.cs:line 292
at HgSharp.Core.HgStore.GetRevlog(String revlogIndexPath, String revlogDataPath) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgStore.cs:line 129
at HgSharp.Core.HgFnCacheStore.GetFilelog(HgPath hgPath) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgFnCacheStore.cs:line 82
at HgSharp.Core.HgRepository.Commit(HgBundle hgBundle) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgRepository.cs:line 646
at HgSharp.Server.HgHttpServer.ExecuteUnbundle(HgHttpCommandContext context) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Server\HgHttpServer.cs:line 320 at MiscUtil.IO.EndianBinaryReader.ReadInternal(Byte[] data, Int32 size)
at MiscUtil.IO.EndianBinaryReader.ReadInt32()
at HgSharp.Core.HgRevlogReader.ReadRevlog(String indexFilePath, String dataFilePath, HgFileSystem fileSystem) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgRevlogReader.cs:line 292
at HgSharp.Core.HgStore.GetRevlog(String revlogIndexPath, String revlogDataPath) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgStore.cs:line 129
at HgSharp.Core.HgFnCacheStore.GetFilelog(HgPath hgPath) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgFnCacheStore.cs:line 82
at HgSharp.Core.HgRepository.Commit(HgBundle hgBundle) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Core\HgRepository.cs:line 646
at HgSharp.Server.HgHttpServer.ExecuteUnbundle(HgHttpCommandContext context) in d:\projects\hglab\lib\hgsharp\src\HgSharp.Server\HgHttpServer.cs:line 320
Not sure how I approach this.
Regards, Andrey.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Anton Gogolev on 04 Mar, 2014 08:43 AM
Andrey,
What does
hg verify
both on client and on the server say?2 Posted by Andrey Bolibruk... on 06 Mar, 2014 06:31 AM
Log fragment for serverside repo:
Which is disheartening; however, we're now at ~1.3k revisions, and pushes have been fine till couple days ago when that commit+rebase took place.
Cannot provide client logs for now; will do when colleague gets back.
What steps would one take in order to remedy this?
Support Staff 3 Posted by Anton Gogolev on 06 Mar, 2014 07:07 AM
Andrey,
That's unfortunate. Can you confirm that revision 163 was pushed through
HgLab?
To fix things up you can replace server repository with the one you have on
the client (provided that client repository passes hg verify without any
problems).
4 Posted by bcarr on 01 Jul, 2015 02:23 PM
I am pushing changes to large / complex / busy repo from rhodecode. I routinely get these errors on push to hglab.
abort: HTTP Error 500: End of stream reached with 3 byte left to read
My source hg repo passes hg verify just fine. I am using hg 3.3.3 on both client and server. If I do hg pull on server from rhodecode I can load the changesets just fine. It appears that git 3.3.3 doesn't format / escape change data the way hglab expects.
5 Posted by bcarr on 01 Jul, 2015 02:29 PM
Also, our rhodecode server is using hg 2.0.2 and is pretty happy with anything provided via hg 3.3.3.
Support Staff 6 Posted by Anton Gogolev on 01 Jul, 2015 03:06 PM
Brian,
Are you pusing over SSL?
7 Posted by bcarr on 01 Jul, 2015 03:43 PM
Hi Anton,
He have been trying to get away from our monolith repo and have been slowly breaking out files / projects from the monolith. Mostly we move them to git as it has better merge support (more accurately gitlabs has better support), but git really doesn’t like large repos (native hg seems to scale very nicely).
So, with our larger git repos we often have to use ssh (though they are still tiny by comparison), but we have never used ssh with hg.
So, I could have given you the brief answer of ‘No’.
Brian
Support Staff 8 Posted by Anton Gogolev on 03 Jul, 2015 03:58 PM
Brian,
Text version of a log file for this error would be nice as well.
9 Posted by bcarr on 06 Jul, 2015 12:43 PM
Uploading as attachments: