monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] ViewMTN seems to have trouble talking to monotone


From: Timothy Brownawell
Subject: Re: [Monotone-devel] ViewMTN seems to have trouble talking to monotone
Date: Wed, 28 Jan 2009 18:15:44 -0600

On Thu, 2009-01-29 at 00:58 +0100, Ludovic Brenta wrote:
> Hi, it's me again.
> 
> After I announced the Ada-France ViewMTN server publicly, I received
> several reports from people getting "500 Internal Server Error"
> whenever clicking a link in the web interface.  This is strange
> because in my own testing, I have never seen such errors, neither
> before nor after receiving the user reports.
> 
> In the log however, I see many instances of:
> 
> Traceback (most recent call last):
>   File "/var/lib/monotone/net.angrygoats.viewmtn/web/webapi.py", line 304, in 
> wsgifunc
>     result = func()
>   File "/var/lib/monotone/net.angrygoats.viewmtn/web/request.py", line 131, 
> in <lambda>
>     func = lambda: handle(inp, fvars)
>   File "/var/lib/monotone/net.angrygoats.viewmtn/web/request.py", line 61, in 
> handle
>     return tocall(*([x and urllib.unquote(x) for x in args] + fna))
>   File "/var/lib/monotone/net.angrygoats.viewmtn/viewmtn.py", line 123, in GET
>     return handler.GET (ctxt, *other_args, **kwargs)
>   File "/var/lib/monotone/net.angrygoats.viewmtn/handlers.py", line 314, in 
> GET
>     Changes.Branch_GET(self, ctxt, branch, from_change, to_change, 
> "branchchanges.html")
>   File "/var/lib/monotone/net.angrygoats.viewmtn/handlers.py", line 246, in 
> Branch_GET
>     last_changes = self.branch_get_last_changes(ctxt.ops, branch, 
> from_change, to_change)
>   File "/var/lib/monotone/net.angrygoats.viewmtn/handlers.py", line 240, in 
> branch_get_last_changes
>     to_change)
>   File "/var/lib/monotone/net.angrygoats.viewmtn/handlers.py", line 144, in 
> __get_last_changes
>     heapq.heappush(revq, Changes.ComparisonRev(ops, rev))
>   File "/var/lib/monotone/net.angrygoats.viewmtn/handlers.py", line 111, in 
> __init__
>     self.certs = list(ops.certs(self.revision))
>   File "/var/lib/monotone/net.angrygoats.viewmtn/mtn.py", line 451, in certs
>     for stanza in basic_io_from_stream(self.automate.run('certs', 
> [revision])):
>   File "/var/lib/monotone/net.angrygoats.viewmtn/mtn.py", line 355, in 
> basic_io_from_stream
>     for line in gen:
>   File "/var/lib/monotone/net.angrygoats.viewmtn/genproxy.py", line 18, in 
> next
>     return self.generator.next()
>   File "/var/lib/monotone/net.angrygoats.viewmtn/mtn.py", line 231, in __run
>     raise MonotoneException("error code %d in automate packet." % (code_max))
> MonotoneException: error code 2 in automate packet.

It might help to make it include the packet contents in the error, to
show exactly what error monotone gave.

> I'm wondering what could cause such errors.  On this machine, "mtn
> automate interface_version" reports 4.0 but I don't think the problem
> is actually tool old a version of monotone because the errors do not
> occur every time the same URL is requested.  For example, the last
> time such an error occurred was on the URL /tags but I just tried it
> and it worked fine.
> 
> My analysis of the log file shows that consecutive errors are most
> often separated in time by a less than 20 seconds, so perhaps what
> triggers the problem is heavy load on the machine?  However I have not
> been able to receive a "500 Internal Server Error" when I rapidly
> clicked on 5-10 links in rapid succession (2-3 clicks per second).

Is viewmtn looking at the same database as a "mtn serve" process?
Monotone will give errors if you try to use a db that another process
has locked for writing (such as a server with an active connection).


-- 
Timothy

Free (experimental) public monotone hosting: http://mtn-host.prjek.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]