Vincent Ladeuil wrote:
[…]
> But trapped to report what ?
>
> We already get a traceback in this case and we can't get more than that.
Tracebacks alone do tell you which line of code broke, but:
1) not all bug reports have tracebacks readily available. e.g. the
smart server doesn't send tracebacks to the client, but does send
the str of the exception.
2) not all bug reports have the exact bzr version included, which makes
matching up line numbers hard. Especially from installs without .py
files, so tracebacks only include file names, line numbers and
function names.
3) Code evolves, and what produces an unambiguous traceback today might
not in bzr 3.1.
Perhaps none of those is going to be an issue here, but I'm unconvinced.
I think John's suggestion to report “weakref of branch disappeared too
early” is clearly more informative than a generic AttributeError, and
not hard to do. If I were very confident we'd never see this error I
wouldn't care, but this (using weakrefs to avoid cycles) is a new idiom
for us and I think it's reasonable to expect we'll make a few mistakes
with it.
Vincent Ladeuil wrote:
[…]
> But trapped to report what ?
>
> We already get a traceback in this case and we can't get more than that.
Tracebacks alone do tell you which line of code broke, but:
1) not all bug reports have tracebacks readily available. e.g. the
smart server doesn't send tracebacks to the client, but does send
the str of the exception.
2) not all bug reports have the exact bzr version included, which makes
matching up line numbers hard. Especially from installs without .py
files, so tracebacks only include file names, line numbers and
function names.
3) Code evolves, and what produces an unambiguous traceback today might
not in bzr 3.1.
Perhaps none of those is going to be an issue here, but I'm unconvinced.
I think John's suggestion to report “weakref of branch disappeared too
early” is clearly more informative than a generic AttributeError, and
not hard to do. If I were very confident we'd never see this error I
wouldn't care, but this (using weakrefs to avoid cycles) is a new idiom
for us and I think it's reasonable to expect we'll make a few mistakes
with it.