From: Willy Tarreau <w@1wt.eu>
To: David Miller <davem@davemloft.net>
Cc: johnpol@2ka.mipt.ru, lkml@rtr.ca, ilpo.jarvinen@helsinki.fi,
jesper.juhl@gmail.com, tilman@imap.cc, yoshfuji@linux-ipv6.org,
jeff@garzik.org, rjw@sisk.pl, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: 2.6.25-rc8: FTP transfer errors
Date: Sat, 12 Apr 2008 10:44:00 +0200 [thread overview]
Message-ID: <20080412084400.GA30259@1wt.eu> (raw)
In-Reply-To: <20080411.110702.146231359.davem@davemloft.net>
Hi guys,
I've read quite a bunch of this thread, and I think there's some
misunderstanding between both parts, as well as inappropriate
expectations in both cases.
On Fri, Apr 11, 2008 at 11:07:02AM -0700, David Miller wrote:
> We had Mark's bug fixed in 15 minutes once the bisect result was
> known, even after Ilpo and myself had scanned through the changesets.
>
> This proves the utility of bisect and in fact that trying to intuit
> the cause by continuing to study changesets and code would have been a
> complete waste of time.
>
> Yes, Mark, we used to do things that way for every bug in the kernel.
> And as a result many bugs sat unfixed for weeks if not months. Many
> of us have left the cave, feel free to join us.
We should be very careful about git-bisect. First, it does not necessarily
point to the bug, but to the commit which exhibits the bug, so simply
reverting the commit might just hide the bug again. I want to ensure that
people do not forget that it does not replace a brain, it enhances your
eyes by pointing to a change related to the problem.
While it is a powerful tool, we must accept that it cannot efficiently
work in some circumstances, such as :
- the machine cannot be rebooted often. I've been used to work for
customers who plan changes once a week, and change absolutely
nothing on their production if unplanned. This means one bisect
step per week. Often, those people even require that your changes
pass through a week of non-regression testing on a pre-production
system (which was my case), with no overlapping between changes,
so then you can count on one git-bisect iteration every two weeks.
- the problem only happens in peak traffic hours on production, and
the loss of service has already gone far beyond the annual quota.
The only case they will accept an upgrade if you engage your full
responsibility that it will definitely fix the problem. I've already
been in such a situation, you say to the guy in front of you that
you're putting your balls on the table, it will work (and sometimes
you're only 90% confident). You obviously cannot do this to just
check if the current bisect exhibits the problem or not.
- the reporter has very few spare time. I do have friends in this
situation. Basically, when your schedule is full of customers
visits one month ahead, it's very hard to find several consecutive
hours to track the problem down. Sometimes you're happy if you can
spend two hours on it in a week. BTW, many developers are also in
the same situation. Also most of the time, this must be done at
the customer's and some of them do not accept people out of work
hours. Then the problem may lay for weeks or months.
- the problem is very reproducible but takes a lot of time before
triggering (typically memory leaks).
In these situations, either git-bisect will not be usable, or will
take a lot of time to converge (up to several weeks), so will reveal
inefficient. So the reporter will either stay with the last known
working version, or with the new one accompanied with a workaround.
For this reason, we should not "force" reporters to git-bisect. Just
ask them if they can do so, otherwise investigations on their bug
will not progress until someone else reports the same one, with some
time to bisect it. And there is nothing wrong with that IMHO. If the
problem only affects one person and this person has a solution, is
that really much of a problem ? Sure it would be better fixed, but
nobody suffers from it. On the other hand, being aware that there
exists a person somewhere experiencing a specific bug is useful to
the developers, because when they think they might have fixed it,
they can ping him for validation.
Now, from a developer's point of view, the reporters should not
consider that development in free software is a public service and
that developers have a strong obligation to find and fix new bugs.
Mark said his time is paid for, but most of the people here will
tend to take that as a customer-provider insult since their time
is also paid for, and while the reporter's work may consist in
consulting customers without much schedule freedom, the developer's
work consists in delivering new features in a more or less agreed
schedule. So everyone's time is valuable.
Of course it's better when developers help, and we must keep in mind
that they're the better placed to understand their code (even more
when it's recent). But due to the long chain of contributors, the
ones in direct contact with the reporter are not often the ones who
will be able to debug the code. So they need to know a bit more to
find whom to ping first.
Both Mark and Ilpo said something true here. It's that they feel
concerned when a bug is reported in an area they have worked on.
It is possible that none of the people who have worked on this bug
was responsible of it, and in this case it's important to insist
on the code author about the fact that he's not only a code author
but also has to support his code, and that next time he'll be
welcome to check if his code might have caused the reported problem.
But clearly, for scalability reasons, we cannot expect people in
the middle of the chain to investigate all bugs. Their experience
in the area is much better used at assisting both reporters and
code authors at taking the right direction though.
So if I can conclude, both reporter's and developer's time is
valuable and may not be spent on chasing every bug down. git-bisect
is very good at saving developer's time in exchange of approximately
the same amount of time on the reporter's side, which makes the whole
process scalable. Sometimes for various reasons the reporter cannot
do this (or not efficiently). We should not call him names in this
case, just tell him that we cannot go further on this bug without
much more information, and that he'll be asked for tests when someone
else reports it and debugs it. If the person expected more investigative
support, he should have gone with a commercialy supported distro.
Now speaking for my case, I know that as a developer, I'm faster than
many others to find bugs in *my* code, but am of little help when it
comes to external contributions to my code. As a user, I will not
always be able to git-bisect (or that would be inefficient, see reasons
above). But I know that a report is a report, and even if I have a
workaround, I feel it as a moral obligation to report the bug, and I
want to be able to do it without the fear of being agressed due to my
lack of involvement in the fix. An no Dave, I'm not hypocritic when I
say this. I really hate people who say "oh yes I know about this bug,
I've already encountered it but did not care to report it". I just
want to ensure that people will always report bugs, whatever the level
of help they will be able to provide. It's important to know if a
problem happens for the first time or is very wide-spread since
version X or Y. And for such a case, I agree that bugzilla would at
least help not losing those reports.
Willy
next prev parent reply other threads:[~2008-04-12 8:49 UTC|newest]
Thread overview: 129+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20080409.182228.193699767.davem@davemloft.net>
[not found] ` <47FE3020.1070502@imap.cc>
[not found] ` <9a8748490804101509l5d043ff8w565dc44dfeaf0072@mail.gmail.com>
[not found] ` <20080410.154651.101700010.davem@davemloft.net>
2008-04-11 0:16 ` 2.6.25-rc8: FTP transfer errors Mark Lord
2008-04-11 0:24 ` David Miller
2008-04-11 0:27 ` Mark Lord
2008-04-11 0:39 ` David Miller
2008-04-11 1:23 ` Mark Lord
2008-04-11 6:40 ` Ilpo Järvinen
2008-04-11 13:19 ` Mark Lord
2008-04-11 14:35 ` Evgeniy Polyakov
2008-04-11 14:59 ` Mark Lord
2008-04-11 15:18 ` Evgeniy Polyakov
2008-04-11 18:07 ` David Miller
2008-04-11 21:29 ` Evgeniy Polyakov
2008-04-12 8:44 ` Willy Tarreau [this message]
2008-04-12 9:49 ` David Miller
2008-04-13 18:15 ` Rafael J. Wysocki
2008-04-13 18:51 ` Sergio Luis
2008-04-13 19:24 ` Rafael J. Wysocki
2008-04-11 19:58 ` Valdis.Kletnieks
2008-04-11 22:16 ` Tilman Schmidt
2008-04-11 22:25 ` Evgeniy Polyakov
2008-04-11 22:27 ` David Miller
2008-04-11 23:23 ` Tilman Schmidt
2008-04-12 5:37 ` Evgeniy Polyakov
2008-04-12 7:06 ` Ilpo Järvinen
2008-04-11 22:26 ` David Miller
2008-04-11 19:58 ` Valdis.Kletnieks
2008-04-11 22:27 ` Tilman Schmidt
2008-04-13 18:40 ` Reporting bugs and bisection (was: Re: 2.6.25-rc8: FTP transfer errors) Rafael J. Wysocki
2008-04-13 18:47 ` Willy Tarreau
2008-04-13 19:18 ` Andrew Morton
2008-04-13 19:27 ` Rafael J. Wysocki
2008-04-13 19:47 ` Reporting bugs and bisection David Miller
2008-04-13 20:21 ` Reporting bugs and bisection (was: Re: 2.6.25-rc8: FTP transfer errors) Evgeniy Polyakov
2008-04-13 20:33 ` Rafael J. Wysocki
2008-04-13 20:54 ` Evgeniy Polyakov
2008-04-13 22:24 ` Reporting bugs and bisection Stephen Clark
2008-04-13 22:41 ` Rafael J. Wysocki
2008-04-13 23:51 ` david
2008-04-14 0:36 ` Jakub Narebski
2008-04-14 4:39 ` Willy Tarreau
2008-04-14 5:39 ` Al Viro
2008-04-14 6:24 ` Andrew Morton
2008-04-14 6:39 ` David Miller
2008-04-14 6:43 ` David Miller
2008-04-14 7:23 ` Al Viro
2008-04-14 7:43 ` Al Viro
2008-04-14 8:04 ` Andrew Morton
2008-04-14 8:30 ` David Miller
2008-04-14 9:06 ` Christoph Hellwig
2008-04-14 9:46 ` Andi Kleen
2008-04-15 5:25 ` Bill Fink
2008-04-14 10:15 ` Andrew Morton
2008-04-14 10:41 ` David Miller
2008-04-14 17:35 ` Roman Shaposhnik
2008-04-14 12:08 ` Adrian Bunk
2008-04-14 14:43 ` Arjan van de Ven
2008-04-14 17:51 ` Andrew Morton
2008-04-14 18:24 ` Arjan van de Ven
2008-04-14 19:30 ` Ilpo Järvinen
2008-04-14 15:54 ` James Morris
2008-04-14 22:01 ` David Miller
2008-04-14 23:05 ` Andrew Morton
2008-04-15 4:55 ` Willy Tarreau
2008-04-15 13:18 ` Work WAS(Re: " jamal
2008-04-15 9:33 ` David Newall
2008-04-15 9:54 ` Michael Kerrisk
2008-04-15 14:04 ` David Newall
2008-04-15 20:51 ` Rafael J. Wysocki
2008-04-16 2:34 ` David Newall
2008-04-16 3:53 ` david
2008-04-16 9:06 ` David Newall
2008-04-16 11:02 ` Andi Kleen
2008-04-16 12:41 ` Stephen Clark
2008-04-16 4:29 ` Willy Tarreau
2008-04-16 12:13 ` Rafael J. Wysocki
2008-04-16 12:15 ` Sverre Rabbelier
2008-04-16 13:26 ` Adrian Bunk
2008-04-16 19:02 ` Andrew Morton
2008-04-16 19:43 ` Sverre Rabbelier
2008-04-16 19:55 ` Adrian Bunk
2008-04-17 13:50 ` J. Bruce Fields
2008-04-17 15:26 ` Adrian Bunk
2008-04-16 19:58 ` Alexey Dobriyan
2008-04-16 20:01 ` Arjan van de Ven
2008-04-16 19:39 ` Sverre Rabbelier
2008-04-16 20:16 ` Adrian Bunk
2008-04-16 20:53 ` Adrian Bunk
2008-04-16 21:05 ` Sverre Rabbelier
2008-04-16 21:25 ` Adrian Bunk
2008-04-16 20:04 ` Willy Tarreau
2008-04-16 20:55 ` Jakub Narebski
2008-04-16 21:17 ` Jesper Juhl
2008-04-17 17:04 ` David Newall
2008-04-17 19:09 ` Rafael J. Wysocki
2008-04-17 19:35 ` Ray Lee
2008-04-17 19:57 ` Sverre Rabbelier
2008-04-17 20:16 ` Al Viro
2008-04-17 20:38 ` Ray Lee
2008-04-17 20:53 ` Al Viro
2008-04-17 21:01 ` Ray Lee
2008-04-14 19:13 ` Rene Herman
2008-04-14 20:38 ` Andrew Morton
2008-04-14 22:18 ` Rene Herman
2008-04-14 9:26 ` Andi Kleen
2008-04-13 20:35 ` David Miller
2008-04-14 10:18 ` Reporting bugs and bisection (was: Re: 2.6.25-rc8: FTP transfer errors) Ingo Molnar
2008-04-14 10:29 ` Reporting bugs and bisection Andi Kleen
2008-04-13 20:10 ` Reporting bugs and bisection (was: Re: 2.6.25-rc8: FTP transfer errors) Adrian Bunk
2008-04-14 9:58 ` Reporting bugs and bisection Andi Kleen
2008-04-14 10:00 ` Willy Tarreau
2008-04-14 10:16 ` Andi Kleen
2008-04-15 21:53 ` about bisections (was: Re: 2.6.25-rc8: FTP transfer errors) Ingo Molnar
2008-04-15 22:30 ` about bisections David Miller
2008-04-15 22:48 ` Ingo Molnar
2008-04-11 0:56 ` 2.6.25-rc8: FTP transfer errors Tilman Schmidt
2008-04-11 1:08 ` David Miller
2008-04-11 0:26 ` David Miller
2008-04-11 0:29 ` Mark Lord
2008-04-11 2:59 ` YOSHIFUJI Hideaki / 吉藤英明
2008-04-11 3:18 ` [PATCH 2.6.25] net sockets: fix timewait namespace regression Mark Lord
2008-04-11 3:51 ` David Miller
2008-04-11 7:50 ` 2.6.25-rc8: FTP transfer errors Pavel Emelyanov
[not found] <1207869029.19683.13.camel@localhost>
[not found] ` <20080410.161453.52032573.davem@davemloft.net>
[not found] ` <1207870334.13150.11.camel@localhost>
2008-04-10 23:41 ` David Miller
2008-04-10 23:51 ` vincent-perrier
2008-04-18 8:32 ` David Miller
2008-04-19 8:07 ` vincent-perrier
[not found] <47FCF9DD.6080007@rtr.ca>
[not found] ` <20080410.023045.16227424.yoshfuji@linux-ipv6.org>
[not found] ` <47FD138B.2060801@rtr.ca>
[not found] ` <20080409.152933.132174258.davem@davemloft.net>
[not found] ` <47FD590C.5020003@rtr.ca>
2008-04-10 20:46 ` Ilpo Järvinen
2008-04-10 21:05 ` Mark Lord
2008-04-10 21:43 ` Ilpo Järvinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080412084400.GA30259@1wt.eu \
--to=w@1wt.eu \
--cc=davem@davemloft.net \
--cc=ilpo.jarvinen@helsinki.fi \
--cc=jeff@garzik.org \
--cc=jesper.juhl@gmail.com \
--cc=johnpol@2ka.mipt.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@rtr.ca \
--cc=netdev@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=tilman@imap.cc \
--cc=yoshfuji@linux-ipv6.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).