Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2012-06-21 Thread Bjoern Michaelsen
Hi,

On Thu, Jun 21, 2012 at 07:11:48PM +0200, Pierre-André Jacquod wrote:
> just to say thanks for bibisect
> Impressive example with fdo49610 to find the problematic commit.

Thanks for the feedback, and also kudos to Florian for actually doing the
bibisect ;)

(An this reminds me that I need to update bibisect again ;) )

Best,

Bjoern
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2012-06-21 Thread Pierre-André Jacquod

Hi,
just to say thanks for bibisect
Impressive example with fdo49610 to find the problematic commit.

Regards
Pierre-André

On 12/09/2011 02:59 PM, Bjoern Michaelsen wrote:

Hi all,



So I hope with this, we make regression finding some more fun and allow us --
QA and developers together -- to stabilize this release more quickly that ever
before.

Bjoern

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Bjoern Michaelsen
On Fri, Dec 09, 2011 at 02:59:53PM +0100, Bjoern Michaelsen wrote:
> bibisect stands for "binary bisect" and is intended to help QA for LibreOffice
> 3.5. 

I just elaborated a bit more about this on 
http://sweetshark.livejournal.com/7683.html

Best,

Bjoern
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Bjoern Michaelsen
Hi,

On Fri, Dec 09, 2011 at 02:47:47PM +, Michael Meeks wrote:
>   Wow - I assume this was the cryptic & magic item you wanted to discuss
> at the TSC next week :-)

Yes. ;)

>   + are these binaries 'generic' ? ie. did you build them
> on an old enough distribution, with a clean enough config
> that they are usable on things other than
> Debian/Ubuntu-latest ? :-)

They are generic only in the sense that I didnt do a --with-system-foo, but
other than that, they have been compile on Ubuntu 11.10, so might not work on
older stuff. I was driven by the "Now is better than never." line from the Zen
of Python for this decision. ;)

>   Either way - it seems pretty cool to me. I wonder if we could find a
> way to completely automate the production of this using our generic
> linux tinderboxen ?

Should be doable. There were quite a few of tweaks and turns in the beginning
(you want to get this stuff halfway right, when you are churning away 24 cores
nonstop for 3 days on your own electricity bill), but in the end it should
integrate well with the tinderboxes. However, I assume this will not work quite
as well incrementally as the binary repo was ~4GB before I purged and repacked
it with:

git purge && git repack -ad --window 2000 --depth 55 --funroll-loops 
--abuse-my-ram --yes-all-of-it

Which:
- takes quite a bit of time
- packs everything in one pack, which sucks for incremental downloads

So, it is a proof-of-concept prototype, but unless somebody finds out I packed
the same version 53 times or something like that, it should be a good starting
point.

Best,

Bjoern
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Michael Meeks

On Fri, 2011-12-09 at 14:59 +0100, Bjoern Michaelsen wrote:
> bibisect stands for "binary bisect" and is intended to help QA for LibreOffice
> 3.5. Regressions are a most annoying artifact that unfortunately come with
> software development and QA.

Wow - I assume this was the cryptic & magic item you wanted to discuss
at the TSC next week :-)

> If there are questions ...

How did you get so awesome ? :-)

A couple of points:

+ a quick re-send to the libreoffice...@lists.freedesktop.org
  would be cool :-) so more QA guys get it.

+ are these binaries 'generic' ? ie. did you build them
  on an old enough distribution, with a clean enough config
  that they are usable on things other than
  Debian/Ubuntu-latest ? :-)

Either way - it seems pretty cool to me. I wonder if we could find a
way to completely automate the production of this using our generic
linux tinderboxen ?

ATB,

Michael.

-- 
michael.me...@suse.com  <><, Pseudo Engineer, itinerant idiot

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Eike Rathke
Hi Bjoern,

On Friday, 2011-12-09 14:59:53 +0100, Bjoern Michaelsen wrote:

> bibisect stands for "binary bisect"

Way cool!

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD


pgp5BiuYrjQjP.pgp
Description: PGP signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Bjoern Michaelsen
Hi,

On Fri, Dec 09, 2011 at 03:12:53PM +0100, Stephan Bergmann wrote:
> On 12/09/2011 02:59 PM, Bjoern Michaelsen wrote:
> >(2) Almost: I forgot to disable-oolink, so I had to filter the branch to 
> >tweak
> >the links again. :-/
> 
> Note that configure now has --disable-oolink.  In case you'll do
> this again for 3.5--3.6.

Already commited like that:
http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/tree/bibisect/build.sh#n37

Best,

Bjoern
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Stephan Bergmann

On 12/09/2011 02:59 PM, Bjoern Michaelsen wrote:

(2) Almost: I forgot to disable-oolink, so I had to filter the branch to tweak
the links again. :-/


Note that configure now has --disable-oolink.  In case you'll do this 
again for 3.5--3.6.


Stephan
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Caolán McNamara
On Fri, 2011-12-09 at 14:59 +0100, Bjoern Michaelsen wrote:
>  http://people.canonical.com/~bjoern/bibisect-3.5.lzma
> 
> contains:
> 
>  - 53 complete office installs between the creation of the core repo and the
>-3-5 branchoff (thats >5000 commits) 
>  - at 450MB each, that would be ~22GB total
>  - however, it is only 749MB total download size, thats <15MB per installation
> 
> And one does not need to install them in parallel as one can switch through 
> all
> of them with a quick "git checkout source-hash-XX" -- one switch costs <1
> second).

That is fairly amazing :-)

C.

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] What is bibisect? And what is it doing in my office?

2011-12-09 Thread Bjoern Michaelsen
Hi all,

bibisect stands for "binary bisect" and is intended to help QA for LibreOffice
3.5. Regressions are a most annoying artifact that unfortunately come with
software development and QA. However, regressions are a misfeature we want to
deal with quick and early as they might get harder and harder to triage and fix
as time passes. 

Because the way git stores its stuff, this download:

 http://people.canonical.com/~bjoern/bibisect-3.5.lzma

contains:

 - 53 complete office installs between the creation of the core repo and the
   -3-5 branchoff (thats >5000 commits) 
 - at 450MB each, that would be ~22GB total
 - however, it is only 749MB total download size, thats <15MB per installation

And one does not need to install them in parallel as one can switch through all
of them with a quick "git checkout source-hash-XX" -- one switch costs <1
second).

As developers are helped extraordinary by knowing as exact as possible when
some regression first showed up in the product there is some value in making
this task as easy and fast as possible. In source code there is the possibility
to bisect:

 http://book.git-scm.com/5_finding_issues_-_git_bisect.html

and with the core repository, we have -- in theory -- the ability to exactly
identify where the regression was introduced. In theory, because you need a
compile and install to triage the bug and different from most other projects,
this still takes quite some time for LibreOffice and thus we cannot fix
regressions as quick as we should.

This is were bibisect comes in: It contains fully completed LibreOffice
installations between two major releases(1) and you can bisect your regression
(to identify when the offending change happened). Once the range where the bug
was introduced is identified, developers will be much more eager to fix the
issue (as the scope can not only be guessed better, it is also known to be
quite limited now).

Bibisect also has the binary installs tagged with the commit-id from the source
repository -- which is the only thing identifying a build that really helps
developers. And by the order they are on the branch one can quickly see which
build is older and which is newer.

The script this was generated with(2) is here:

  http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/tree/bibisect

and I sincerly wish it is worth the carbon footprint needed to generate the
output in the last days. ;)

So I hope with this, we make regression finding some more fun and allow us --
QA and developers together -- to stabilize this release more quickly that ever
before.

If there are questions about how bisecting works, I am pretty sure developers
will be happy to help out people interested to get started as this allows us to
distribute the work on more shoulders.

Opinions/Comments?

Best,

Bjoern

(1) Not quite for 3.4-3.5 as the stuff as is only works from the point in time,
where we merged repositories, but from the merge point (early August 2011) to
the point of 3.5 branchoff (early December).

(2) Almost: I forgot to disable-oolink, so I had to filter the branch to tweak
the links again. :-/
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice