SourceForge migration has broken HTTP access to some hg repos

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

SourceForge migration has broken HTTP access to some hg repos

Mike Miller-4
Hi Octave Forge admins,

I am unable to pull hg changes from 3 of the Octave Forge mercurial
source repositories over HTTP. I *am* able to pull over SSH. I think
it's likely that the repositories are fine, but something is wrong with
the HTTP hosting of hgweb, probably having to do with the recent
migration.

Would you get in contact with SourceForge so we can get this resolved?

Details:

I get the same error from the geometry, signal, and statistics
repositories, and only those three:

    ** unknown exception encountered, please report by visiting
    ** https://mercurial-scm.org/wiki/BugTracker
    ** Python 2.7.14+ (default, Feb  6 2018, 19:12:18) [GCC 7.3.0]
    ** Mercurial Distributed SCM (version 4.4.1)
    ** Extensions loaded:
    Traceback (most recent call last):
      File "/usr/bin/hg", line 41, in <module>
        dispatch.run()
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 85, in run
        status = (dispatch(req) or 0) & 255
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 173, in dispatch
        ret = _runcatch(req)
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 313, in _runcatch
        return _callcatch(ui, _runcatchfunc)
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 321, in _callcatch
        return scmutil.callcatch(ui, func)
      File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line 154, in callcatch
        return func()
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 303, in _runcatchfunc
        return _dispatch(req)
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 940, in _dispatch
        cmdpats, cmdoptions)
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 701, in runcommand
        ret = _runcommand(ui, options, cmd, d)
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 948, in _runcommand
        return cmdfunc()
      File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 937, in <lambda>
        d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
      File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1185, in check
        return func(*args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 4004, in pull
        opargs=pullopargs).cgresult
      File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1300, in pull
        _pullphase(pullop)
      File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1511, in _pullphase
        _pullapplyphases(pullop, remotephases)
      File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 1523, in _pullapplyphases
        remotephases)
      File "/usr/lib/python2.7/dist-packages/mercurial/phases.py", line 591, in analyzeremotephases
        node = bin(nhex)
    TypeError: Odd-length string

I can reproduce this error on multiple machines in different locations
and with different versions of mercurial, so I have no doubt it is not a
local problem, anyone should be able to reproduce it.

Again, if I pull from the same repositories using SSH access, I get no
such error.

--
mike


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SourceForge migration has broken HTTP access to some hg repos

Mike Miller-4
On Tue, Feb 20, 2018 at 10:58:21 -0800, Mike Miller wrote:
> I am unable to pull hg changes from 3 of the Octave Forge mercurial
> source repositories over HTTP. I *am* able to pull over SSH. I think
> it's likely that the repositories are fine, but something is wrong with
> the HTTP hosting of hgweb, probably having to do with the recent
> migration.

Looking into this a little deeper, the problem only affects hg
repositories that have bookmarks. These are the 4 repositories geometry,
image, signal, and statistics.

I don't know much about hg internals, but I do know how to trace HTTP
transactions. The hg pull issues a few GET commands, and this sequence
is getting weird results back from the SourceForge server. Using curl to
mimic what hg is doing:

    $ curl -H "vary: X-HgArg-1" -H "X-HgArg-1: namespace=bookmarks" "http://hg.code.sf.net/p/octave/signal/?cmd=listkeys"
    @ 46ba861187455a5414bd15d671664dd210b27e09

    $ curl -H "vary: X-HgArg-1" -H "X-HgArg-1: namespace=phases" "http://hg.code.sf.net/p/octave/signal/?cmd=listkeys"
    @ 46ba861187455a5414bd15d671664dd210b27e09

    $ curl -H "vary: X-HgArg-1" -H "X-HgArg-1: namespace=phases" "http://hg.code.sf.net/p/octave/signal/?cmd=listkeys"
    publishing True

Notice that the last two commands are identical, but the second call
returns a different (correct) value. Maybe there is some server-side
caching going on here.

--
mike


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SourceForge migration has broken HTTP access to some hg repos

Olaf Till-2
In reply to this post by Mike Miller-4
On Tue, Feb 20, 2018 at 10:58:21AM -0800, Mike Miller wrote:
> Hi Octave Forge admins,
>
> I am unable to pull hg changes from 3 of the Octave Forge mercurial
> source repositories over HTTP. I *am* able to pull over SSH. I think
> it's likely that the repositories are fine, but something is wrong with
> the HTTP hosting of hgweb, probably having to do with the recent
> migration.
>
> Would you get in contact with SourceForge so we can get this resolved?

Thanks for the report. I've created a ticket:

https://www.sourceforge.net/p/forge/site-support/16523/

Note that I got slightly different error messages.

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SourceForge migration has broken HTTP access to some hg repos

Olaf Till-2
In reply to this post by Mike Miller-4
On Tue, Feb 20, 2018 at 12:42:46PM -0800, Mike Miller wrote:

> On Tue, Feb 20, 2018 at 10:58:21 -0800, Mike Miller wrote:
> > I am unable to pull hg changes from 3 of the Octave Forge mercurial
> > source repositories over HTTP. I *am* able to pull over SSH. I think
> > it's likely that the repositories are fine, but something is wrong with
> > the HTTP hosting of hgweb, probably having to do with the recent
> > migration.
>
> Looking into this a little deeper, the problem only affects hg
> repositories that have bookmarks. These are the 4 repositories geometry,
> image, signal, and statistics.
>
> I don't know much about hg internals, but I do know how to trace HTTP
> transactions. The hg pull issues a few GET commands, and this sequence
> is getting weird results back from the SourceForge server. Using curl to
> mimic what hg is doing:
>
>     $ curl -H "vary: X-HgArg-1" -H "X-HgArg-1: namespace=bookmarks" "http://hg.code.sf.net/p/octave/signal/?cmd=listkeys"
>     @ 46ba861187455a5414bd15d671664dd210b27e09
>
>     $ curl -H "vary: X-HgArg-1" -H "X-HgArg-1: namespace=phases" "http://hg.code.sf.net/p/octave/signal/?cmd=listkeys"
>     @ 46ba861187455a5414bd15d671664dd210b27e09
>
>     $ curl -H "vary: X-HgArg-1" -H "X-HgArg-1: namespace=phases" "http://hg.code.sf.net/p/octave/signal/?cmd=listkeys"
>     publishing True
>
> Notice that the last two commands are identical, but the second call
> returns a different (correct) value. Maybe there is some server-side
> caching going on here.
Our mails crossed...

Maybe you could put the above information directly into the tracker at
the address I posted?

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SourceForge migration has broken HTTP access to some hg repos

Mike Miller-4
On Tue, Feb 20, 2018 at 22:24:01 +0100, Olaf Till wrote:
> Maybe you could put the above information directly into the tracker at
> the address I posted?

Thanks for opening the ticket. I have posted my information there.

--
mike


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SourceForge migration has broken HTTP access to some hg repos

Mike Miller-4
On Tue, Feb 20, 2018 at 13:54:34 -0800, Mike Miller wrote:
> Thanks for opening the ticket. I have posted my information there.

This is now resolved, SourceForge has updated their server-side caching
settings and hg over HTTP works again.

--
mike


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SourceForge migration has broken HTTP access to some hg repos

Olaf Till-2
On Wed, Feb 21, 2018 at 11:23:28AM -0800, Mike Miller wrote:
> On Tue, Feb 20, 2018 at 13:54:34 -0800, Mike Miller wrote:
> > Thanks for opening the ticket. I have posted my information there.
>
> This is now resolved, SourceForge has updated their server-side caching
> settings and hg over HTTP works again.

Great, thanks again, especially for providing diagnostics to them.

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net


-----------------------------------------
Join us March 12-15 at CERN near Geneva
Switzerland for OctConf 2018.  More info:
https://wiki.octave.org/OctConf_2018
-----------------------------------------

signature.asc (849 bytes) Download Attachment