Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-08 Thread Nico Coesel
 -Original Message-
 From: openocd-development-boun...@lists.berlios.de [mailto:openocd-
 development-boun...@lists.berlios.de] On Behalf Of Zach Welch
 Sent: woensdag 8 juli 2009 0:35
 To: Øyvind Harboe
 Cc: openocd-development@lists.berlios.de
 Subject: Re: [Openocd-development] 0.2.0 release... on hold?
 
 On Wed, 2009-07-08 at 00:14 +0200, Øyvind Harboe wrote:
   We need to find some balance.  Right now, the presses are too heavily
   biased toward development to the extent that release suffers badly.
 
  I definitely want to see a reset of the release timeout counter
  when we discover such problems as we have seen in
  the last week.
 
  The step bug alone would have made *all* the regression test
  scripts fail... I wouldn't even want to ask Michael Fischer to
  run the regression test suite without that one in place...
 
 Right, so I do want to make it clear that some of these are entirely
 legitimate bugs that you are fixing.  No dispute about that.  In that
 regard, I am happy to reset the release deadline while we consider the
 patches.  However, there does need to be a limit to the number of resets
 that we allow for new issues.

If I may be very blunt: I don't think we are very close to a 0.2.0 release. It 
seems (based on bug reports) the recent changes broke some of the existing 
functionality. That needs to be tested  fixed first. IMHO release 0.2.0 should 
have at least the same functionality that 0.1.0 had.

Nico Coesel


___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-08 Thread Øyvind Harboe
 If I may be very blunt: I don't think we are very close to a 0.2.0 release.
 It seems (based on bug reports) the recent changes broke some of the
 existing functionality. That needs to be tested  fixed first. IMHO release
 0.2.0 should have at least the same functionality that 0.1.0 had.

Regressions are at the very top of the list of reasons to postpone 0.2.0.

Please report outstanding issues you find to the list.



-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-08 Thread Zach Welch
On Wed, 2009-07-08 at 12:06 +0200, Nico Coesel wrote:
  -Original Message-
  From: openocd-development-boun...@lists.berlios.de [mailto:openocd-
  development-boun...@lists.berlios.de] On Behalf Of Zach Welch
  Sent: woensdag 8 juli 2009 0:35
  To: Øyvind Harboe
  Cc: openocd-development@lists.berlios.de
  Subject: Re: [Openocd-development] 0.2.0 release... on hold?
  
  On Wed, 2009-07-08 at 00:14 +0200, Øyvind Harboe wrote:
We need to find some balance.  Right now, the presses are too heavily
biased toward development to the extent that release suffers badly.
  
   I definitely want to see a reset of the release timeout counter
   when we discover such problems as we have seen in
   the last week.
  
   The step bug alone would have made *all* the regression test
   scripts fail... I wouldn't even want to ask Michael Fischer to
   run the regression test suite without that one in place...
  
  Right, so I do want to make it clear that some of these are entirely
  legitimate bugs that you are fixing.  No dispute about that.  In that
  regard, I am happy to reset the release deadline while we consider the
  patches.  However, there does need to be a limit to the number of resets
  that we allow for new issues.
 
 If I may be very blunt: I don't think we are very close to a 0.2.0
 release. It seems (based on bug reports) the recent changes broke some
 of the existing functionality. That needs to be tested  fixed first. 

I think that we need to fix the bugs that we have spotted, but each
release window has its limits.  The 7/1 deadline had been discussed in
on the list more than once, and I am fairly certain that I gave ample
warning to the community in the past week or so.  The late rush and
subsequent delays are simultaneously expected and disappointing.

 IMHO release 0.2.0 should have at least the same functionality that
 0.1.0 had.

This kind of expectation does not hold indefinitely, as not even the
Linux kernel maintains support for all platforms indefinitely.  I bet
every minor release sees a regressions in a small part of the tree.
Given that OpenOCD shares the same hardware testing requirements, I
think it would be insane to expect that we never have regressions for
some platforms.  Moreover, some of the reset bugs being discussed appear
to have been introduced before the 0.1.0 release.

We can't wait for everyone that missed the release window, when others
get their work in on time.  That is simply not fair to the maintainers
that are keeping up with the schedule.  This is why the world has
deadlines, and there will always be consequences for missing them.
Fortunately, we can make new releases in due course, so any mistakes
will be corrected with sufficient patience from the community.

All of this is for the future.  For now, we're playing things by ear,
and it sounds like we need to give 0.2.0 a little more time to brew.

Cheers,

Zach

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Zach Welch
On Mon, 2009-07-06 at 15:16 +0200, Øyvind Harboe wrote: 
 I've determined that single stepping is busted for
 svn head arm926ejs using parport against wi-9c.cfg
 (bisecting this now).

This does not meet my standard for explaining the changes that went
into the OpenOCD tree, in so far as I still need additional confidence
that your changes were correct.  The above only clarifies that they were
well intentioned.

Your commit messages and posts need significantly more details.  I am
not expressing this sentiment for my own sake.  Your lack of explanation
translates directly in to development opacity for the users, as your
commit messages will appear in the published ChangeLog files.  

Brevity is not user-friendly in these areas.  It is not even good to
assume that other developers will grok your changes, or that your
changes will be correct on all host platforms or targets.

 One concern that I have with 0.2 is that it contains a lot
 of *great* refactoring work, but this is unobservable to
 the casual user.

This is one price of progress, but releases will help with this.

 It will take a *long* time get testing done for all types
 of targets. Testing really has to be done on svn head anyway...

*sigh*   These comments have caused me to write up testing processes
that are not entirely unlike the release processes in the scope.  I am
providing the same sort of analysis (why, who, what, how, when), in
order to set down some understanding about what testing should mean.  

In the face of those broader definitions, I disagree with your claims.
Your definition of that word seems far too narrow, but we can settle
this debate in a separate when I post that new file. :)

 From this point of view 0.1 is much better because there
 was a lot less development going on prior to 0.1 release...
 
 What about cutting a 0.2 branch now(going back a few svn
 versions if necessary) and leaving arm926ejs for 0.3?

No.  That creates more work for the release manager (me), because there
are other fixes that have gone in on top of your changes.  I will not be
doing extra make-work like this in an unpaid capacity, and I would
rather see others spend their time improving the trunk and producing
more releases.

Until your recent patches, the trunk was ready to be branched and tagged
without such extra labor, and I am somewhat unhappy that the release
needs to been postponed for more testing.  I am more disappointed that
you avoided explaining the patches directly, which takes more individual
responsibility for the situation than your present suggestions and
continued actions seem to demonstrate to me personally.  Rather, than
waiting for clarification from the Release Manager, you plunged ahead.

It's great that you found these bugs and want to fix them, but your
patches should not be committed without sufficient explanation and
community review.  You have been committing directly during the
preparations for the 0.2.0 release, which I see as a serious failure in
our process.  However, this characterization as failure reflects my
hope for the future, rather than expectations from my experiences here.
Since things have been more flexible in the past, these events should
more fairly be called a learning experience for all involved. ;)

So, we need to move forward.  After we are done with testing, I think we
should release 0.2.0 and plan to release 0.3.0 in the middle of August.
This will allow for a few weeks of development and a week of testing,
more or less.  That may seem like a fast cycle, but it seems like a good
compromise in the face of skipping bug-fix releases for 0.2.0.

I would see us schedule 0.4.0 in the same fashion, but I may want to
change things for 0.5.0 or beyond.  Two or three more releases should
allow enough time for many major clean-ups and improvements that have
planned to be implemented (e.g. libopenocd, modules, etc.).  

After 0.5.0, the pace of change may slow unless more innovation makes
its way onto the list.  Hopefully, we will be coping with a large influx
of developers writing support for new targets, and we will have the
resources to be producing both -rc and bug-fix releases.

 Perhaps we can backport a few things from svn head?

Again, I do not think we should spend any of our time doing release
branch maintenance at this point.  There is too much work remaining in
the code for the project's resources to be diluted in that way, when we
should simply be releasing more often and getting more testing feedback.

I think we need more active contributors and users to be able to sustain
release branches.  Until then, the community should focus on each
release in unison.  We should all stop development and work to test the
pending release, post patches to fix bugs, review those fixes, and apply
only changes that work everywhere for everyone -- without regressions or
other new bugs to clean up (functional, stylistic, or otherwise).

Right now, we are seeing that this process needs work in the trunk, as
these 

Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Øyvind Harboe
Hi Zach,

thanks for a good post  followup on this.

I'll try to adjust to the new rules of engagement and stop committing
willy nilly.

W.r.t. when 0.2 should go out of the door, I'm thinking that we
should have a few days without finding and fixing regressions
before we say it's time to release.

Here is a list of recent commits I've made where the impact is non-localized
to obscure features and non-trivial. Some additional  explanations too.


2464 - fixed regression since 0.1. No human readable error message
were reported when feeding in an illegal number.
2469 - deleted unclear unused code. There was a complicated
check on what the debug_reason was. The new check *only*
checks against the only value/case that needs to be treated specially.
This was a bug waiting to happen. If a new DBG_REASON was
introduced, then this check would do the wrong thing. related
to arm926ejs work.
2470 - added a timeout check on the polling loop for cp15 read/write.
This was for arm926ejs work, but the timeout problem is no longer
visible as the underlying interface problem was fixed.
2478 - fix post 0.1 regression in OpenOCD step command. This
command is *crucial* for the trunk/testing scripts.
2479 - arm926ejs reports unknown MOE. Rather than just failing
outright, allow step/halt to at least function while we look for this
bug.

My current feeling about 0.2 is that we should allow at least
a week of work on the outstanding reset problems before we cut
the release.

Also I'm especially pleased that we caught 2478
before anything went out of the door, because *ALL* smoke
tests would have failed without that fix in place... Based on
the experience in the last couple of days w/the reset problems,
I'm not quite ready to hand over svn head to Michael Fischer
for running the smoketest suite.

0.2 is special. There has been LOTS of system wide changes this
spring.

Is there a downside to staying in near 0.2 release mode
for a month or so?

What type of changes would we have to postpone?

Surely we could do more system wide cleanup work this fall?

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread David Brownell
On Tuesday 07 July 2009, Øyvind Harboe wrote:
 My current feeling about 0.2 is that we should allow at least
 a week of work on the outstanding reset problems before we cut
 the release.

That seems reasonable.  Likewise some of the issues turning
up with different JTAG adapters.

It's funny how folk tend to really start testing heavily
once it seems the release is likely to happen in the next
day or two.  ;)

During that week ... should there be a policy on commits,
with explicit ACKs/NAKs required?  Commits can go in after
the 0.2.0 tarball ships, of course; temporary delays only.

- Dave

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Øyvind Harboe
On Tue, Jul 7, 2009 at 11:02 PM, David Brownelldavi...@pacbell.net wrote:
 On Tuesday 07 July 2009, Ųyvind Harboe wrote:
 My current feeling about 0.2 is that we should allow at least
 a week of work on the outstanding reset problems before we cut
 the release.

 That seems reasonable.  Likewise some of the issues turning
 up with different JTAG adapters.

 It's funny how folk tend to really start testing heavily
 once it seems the release is likely to happen in the next
 day or two.  ;)

Very human behavior. We create a sense of urgency to
get my problem fix before release...

Perhaps we should capitalize on this and create a rule
that exploits it?

Create a release timeout counter which is reset upon
acknowledged regressions reported?

 During that week ... should there be a policy on commits,
 with explicit ACKs/NAKs required?  Commits can go in after
 the 0.2.0 tarball ships, of course; temporary delays only.

What about cutting the release and waiting a week
to see if anything of note appears?

Upon resetting the release timeout counter, we cut
a new release. The release will be of some well defined
subversion # in the past.

Cutting a release is *cheap* right?



-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Zach Welch
On Tue, 2009-07-07 at 14:02 -0700, David Brownell wrote:
 On Tuesday 07 July 2009, Øyvind Harboe wrote:
  My current feeling about 0.2 is that we should allow at least
  a week of work on the outstanding reset problems before we cut
  the release.
 
 That seems reasonable.  Likewise some of the issues turning
 up with different JTAG adapters.

This seems like a slippery slope to me.  One week could easily turn into
two, then another week after that, and so on.  We said that we would
release on 7/1, and we are now a week late.  Another week makes us two
weeks late.

Speaking as release manager, I find this unacceptable from the
perspective of users' expectations.  We have talked about that deadline
for a while, and we need to stick by it unless these problems are truly
insurmountable.  I believe there are workarounds for all bugs being
discussed, so -- while it would be great to have fixes -- they do not
seem like reasons to block the release for much longer.

 It's funny how folk tend to really start testing heavily
 once it seems the release is likely to happen in the next
 day or two.  ;)

Tell me about it.  I am happy to see it happening, but seeing patches
rejected should cause things to be different for the next release.

 During that week ... should there be a policy on commits,
 with explicit ACKs/NAKs required?  Commits can go in after
 the 0.2.0 tarball ships, of course; temporary delays only.

Right.  I am happy with direct trunk commits during the normal
development process -- just not during the release process.
Explicit ACK/NACK is probably the best policy, particularly if everyone
know that such will be required for progress.

Cheers,

Zach
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Øyvind Harboe
What about cutting the release and waiting a
week to see if something worthwhile appears that
makes you want to cut the release from a newer
svn version?

Allowing commits meanwhile, but encouraging postponements
of more crazy stuff + commits for collaboration purposes.

Cutting the release from an arbitrary svn # is cheap, right?

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Zach Welch
On Tue, 2009-07-07 at 23:46 +0200, Øyvind Harboe wrote:
 On Tue, Jul 7, 2009 at 11:02 PM, David Brownelldavi...@pacbell.net wrote:
  On Tuesday 07 July 2009, Ųyvind Harboe wrote:
[snip]
 Create a release timeout counter which is reset upon
 acknowledged regressions reported?

We might not release until X-mas.

  During that week ... should there be a policy on commits,
  with explicit ACKs/NAKs required?  Commits can go in after
  the 0.2.0 tarball ships, of course; temporary delays only.
 
 What about cutting the release and waiting a week
 to see if anything of note appears?

There needs to be testing of all changes in trunk.  That takes a week
without significant changes, at our current level of activity.

 Upon resetting the release timeout counter, we cut
 a new release. The release will be of some well defined
 subversion # in the past.
 
 Cutting a release is *cheap* right?

Yes, but there is some cost in having N versions in the field.  Sure, we
could release after each commit, and we would see few bug reports for
any given release.  Users have no idea which one is good.  This be bad.

In contrast, we have been working towards the 0.2.0 release for months.
We need a release off which users can perform testing and spot
regressions from 0.1.0 (or earlier).  Right now, we still require bug
reports from SVN, and that will end with 0.2.0 (and sooner is better).
Once we fix enough bugs we can consider releasing 0.3.0, which will
include some additional development.

We need to find some balance.  Right now, the presses are too heavily
biased toward development to the extent that release suffers badly.

Cheers,

Zach

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Øyvind Harboe
 We need to find some balance.  Right now, the presses are too heavily
 biased toward development to the extent that release suffers badly.

I definitely want to see a reset of the release timeout counter
when we discover such problems as we have seen in
the last week.

The step bug alone would have made *all* the regression test
scripts fail... I wouldn't even want to ask Michael Fischer to
run the regression test suite without that one in place...



-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Zach Welch
On Wed, 2009-07-08 at 00:14 +0200, Øyvind Harboe wrote:
  We need to find some balance.  Right now, the presses are too heavily
  biased toward development to the extent that release suffers badly.
 
 I definitely want to see a reset of the release timeout counter
 when we discover such problems as we have seen in
 the last week.
 
 The step bug alone would have made *all* the regression test
 scripts fail... I wouldn't even want to ask Michael Fischer to
 run the regression test suite without that one in place...

Right, so I do want to make it clear that some of these are entirely
legitimate bugs that you are fixing.  No dispute about that.  In that
regard, I am happy to reset the release deadline while we consider the
patches.  However, there does need to be a limit to the number of resets
that we allow for new issues.

Cheers,

Zach
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-07 Thread Øyvind Harboe
 However, there does need to be a limit to the number of resets
 that we allow for new issues.

Agreed.

Though I believe that it is a hypothetical situation where
we discover major flaws every few days. *If* we did, then
we *should* hold off the release.

Have we discovered anything but the reset problems lately?

(Dominic hasn't reported back on his next test run yet...)

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


[Openocd-development] 0.2.0 release... on hold?

2009-07-06 Thread Zach Welch
Hi all,

With my latest series of commits, I believe that the release process is
finally ready to see action.  That said, we have seen a bit of
bug-fixing activity during the time that I have been preparing, and
several new patches have hit the repository.  The countdown is on hold.

The new changes for arm7_9_common.c and arm926ejc.c need to be given
time to ensure they work on all targets being tested for the release.
Honestly, I am tempted to ask for them to reverted for the time being,
as I cannot trivially determine their correctness after casual review.
Of course, these were not given time for review in the first place;
given the pending release, this was a major faux pas and cannot escape
mention as such.  :/

Since it appears that they do not help the ARM926EJS problems that were
reported after the commits, perhaps reverting them may be the best path
If not, I want to understand why we should keep them for 0.2.0. Again,
such explanations should have been provided with the e-mail descriptions
or commit message.  I hate to make an example out of these changes,
but I want the community to handle these issues better in the future.

What do others think about these changes?  Are they safe to keep, or
should we revert them to make the release?  If we keep them without
confirmation, I want to wait until the community provides feedback
confirming that nothing has broken.  In this respect, I think the
release process deserves to be put on hold, until the changes are
reverted or have been explained fully and confirmed to be correct.
Personally, I would prefer to hear confirmation that they are good.

Other than those changes, fixes for MinGW32 cross-compiling are pending
to be committed, but I cannot think of any other issues that have a
solution waiting to be tested.  Maintainers: please commit ONLY patches
that have been reviewed by the mailing list for at least 12 hours.
These should be confirmed by others that the changes fix problems (or
have benefit) for the community.

If feedback to this thread indicates that we are ready, I will produce
the 0.2.0 release about 12 hours after the last patches are committed.
Each new patch that is committed will reset the release clock.  Does
this sound reasonable to everyone?

Cheers,

Zach

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] 0.2.0 release... on hold?

2009-07-06 Thread Øyvind Harboe
I've determined that single stepping is busted for
svn head arm926ejs using parport against wi-9c.cfg
(bisecting this now).

One concern that I have with 0.2 is that it contains a lot
of *great* refactoring work, but this is unobservable to
the casual user.

It will take a *long* time get testing done for all types
of targets. Testing really has to be done on svn head anyway...

From this point of view 0.1 is much better because there
was a lot less development going on prior to 0.1 release...

What about cutting a 0.2 branch now(going back a few svn
versions if necessary) and leaving arm926ejs for 0.3?

Perhaps we can backport a few things from svn head?

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development