This is a repeat of information that I posted to hugin-ptx.  Here on the
tracker is the right place to contribute/discuss this bug.

This bug is most likely caused by a memory leak and the most difficult
part of fixing a memory leak is to identify where it happens.

Here is a strategy and a plan.  We will need to pull this together if we
want to succeed.


1) Strategy

In a nutshell:  identify the range of revisions that are likely to
contain the error and narrow it down with a binary tree search.  Split
the revision range in two, build and test the version in the middle.  If
the error is present, we know it is in the earlier revisions range.
Else in the later.  Take the identified narrower revision range and
repeat the process.  There is a high likelyhood that after about eight
repetitions the source of the error is identified.

In detail:

Today, we are at revision 5435.  It is most likely that the bug was
introduced after 2010.4 was released.  Revision 4780 is 2010.4 final.

So the error is most likely between 4780 and 5435.  That would be 656
different versions of Hugin, but it is much less than that: many of
these changesets are not on the default branch.


2) The plan

List the relevant changesets on the default branch:

hg log -b default -r4780:tip --template 'r: {rev}\n' > revlist.txt

That's 448 changesets to examine.

Start from the middle, i.e. the 224th changeset in that list.  build
that version and try to trigger the error.  If the bug is there, it is
likely to be in the newer half of the list.  If not, in the older half.
Rebuild the list, now 224 entries long, and cut it in half again.
Repeat.

With such a binary strategy, we should zero in on the bug in a maximum
of eight iterations.

224, 112, 56, 28, 14, 7, 4, 2, 1

I can produce eight such tarball releases in about 16 hours (takes about
two hours per tarball).  However I can not move forward until I get
feedback on a tarball to tell me whether the subsequent tarball to build
is in the earlier or later half.

I need your help.

Help from builders to turn the tarballs into binaries for their
respective platforms so that tester, especially those who have been
particularly "lucky" at triggering the bug, can take those binaries on a
test drive and provide feedback as to whether they can trigger the bug
or not.

Please build binaries and make them available.  Instructions at [1].

I am available to the project for another six weeks, after wich I won't
have time.  That's less than one tarball per week.  The process of
releasing a tarball is not that difficult and well documented [2].  So
are the processes to build binaries for the different platforms [1].
This means that others, (*you*?) could step in.  We can only move as
fast on this process as the feedback that we get.

I have produced the first tarball [3].  I will produce the next one
(from the earlier half or the later half) as soon as there are enough
test results to make a reasonable guess regarding the bug's presence.
If we oil this mechanism fast enough, we can get it done in a few weeks.

These are the steps I did, in case somebody wants to step in my shoes.
This would be helpful for the continuation of the process after
September 5 if necessary.

cd hugin.default
hg pull && hg up
hg up -r 5057
hg identify -b -n -i

cd ..
mkdir hugin-tarball
cd hugin-tarball
cmake ../hugin.default -DENABLE_LAPACK=YES -DCPACK_BINARY_DEB:BOOL=OFF 
-DCPACK_BINARY_NSIS:BOOL=OFF \
  -DCPACK_BINARY_RPM:BOOL=OFF -DCPACK_BINARY_STGZ:BOOL=OFF 
-DCPACK_BINARY_TBZ2:BOOL=OFF \
  -DCPACK_BINARY_TGZ:BOOL=ON -DCPACK_BINARY_TZ:BOOL=OFF
make package_source

mv hugin-2011.1.0.tar.bz2 hugin-2011.1.0.5057.tar.bz2

tar xvfj hugin-2011.1.0.5057.tar.bz2
mkdir hugin-tarball-build
cd hugin-tarball-build
cmake ../hugin-2011.1.0 -DENABLE_LAPACK=YES -DCPACK_BINARY_DEB:BOOL=ON 
-DCPACK_BINARY_NSIS:BOOL=OFF \
  -DCPACK_BINARY_RPM:BOOL=OFF -DCPACK_BINARY_STGZ:BOOL=OFF 
-DCPACK_BINARY_TBZ2:BOOL=OFF \
  -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF \
  -DBUILD_HSI:BOOL=ON -DSWIG_EXECUTABLE=/usr/bin/swig2.0
make package
sudo dpkg -i hugin-2011.1.0-Linux.deb

cd ..
rsync --partial --progress -e ssh hugin-2011.1.0.5057.tar.bz2  
yuv,hu...@frs.sourceforge.net:/home/frs/project/h/hu/hugin/hugin/pesky-bug/

The tarball is available for download at [3] now.

Please let everybody know where your binaries are available for download
/ testing.

Together we can do it.

Thanks
Yuv


[0] https://bugs.launchpad.net/hugin/+bug/792896
[1] 
http://wiki.panotools.org/Development_of_Open_Source_tools#Supported_Platforms
[2] http://wiki.panotools.org/Development_of_Open_Source_tools#Release_2
[3] 
https://sourceforge.net/projects/hugin/files/hugin/pesky-bug/hugin-2011.1.0.5057.tar.bz2/download

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/792896

Title:
  Fast Preview Hangs or Crashes since 2011.0

Status in Hugin - Panorama Tools GUI:
  Confirmed

Bug description:
  Upgraded from 2010.4 to 2011.0.0 and it has hung 3 times in about 15
  sessions.  All three hangs happened while doing the same thing.....
  new session, load images, load a lens profile, set the canvas size
  (Calculate optimal size), save-as and save profile then click on GL
  (fast preview) button.  Fast preview window comes up, shows anchor
  image and then hangs.

  Is not reproducible.  Running 2011.0.0.0fd3e119979c built by Matthew
  Petroff on 64-bit Win7.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hugin/+bug/792896/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~hugin-devs
Post to     : hugin-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~hugin-devs
More help   : https://help.launchpad.net/ListHelp

Reply via email to