← Back to team overview

hugin-devs team mailing list archive

[Bug 717944] Re: cpfind memory allocation error

 

I can now confirm that what I saw in comment #3 is not related to this
thread.  My error was due to an image being in the wrong format.  It
also caused bug 779563.  I will file e separate ticket for that. Apology
for the thread hijack.

Agree that manually limiting the number of cores should not be
necessary.  The problem will affect an increasing number of users in the
future.

The solution is some logic before spawning the thread.  Spawn it only if
enough memory can be allocated.

Question: memory = physical RAM?  or memory = available memory including
(slow) swap?

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

Title:
  cpfind memory allocation error

Status in Hugin - Panorama Tools GUI:
  Confirmed

Bug description:
  On running cpfind with 12 16-bit TIFF files, each 5616x3744, cpfind is
  crashing as follows.   Perhaps it should have an option to downsample
  further or do so automatically.   I'm running on a mac with 32GBytes
  of RAM.


  ThreadQueue created
  Hugins cpfind 2010.4.0 built by Harry van der Wolf
  based on Pan-o-matic by Anael Orlinski

  Input file        : /var/folders/8h/8hlpRcCCEaGFmRb8QB9D-E+++TI/-Tmp-/ap_inprojFJqZwc
  Output file       : /var/folders/8h/8hlpRcCCEaGFmRb8QB9D-E+++TI/-Tmp-/ap_resTLTV9P
  Number of CPU     : 8

  Input image options
    Downscale to half-size : yes
  Gradient based description
  Sieve 1 Options
    Width : 10
    Height : 10
    Size : 50
    ==> Maximum keypoints per image : 5000
  KDTree Options
    Search steps : 40
    Second match distance : 0.15
  Matching Options
    Mode : All pairs
    Distance threshold : 25
  RANSAC Options
    Iterations : 1000
    Distance threshold : 25
  Sieve 2 Options
    Width : 5
    Height : 5
    Size : 2
    ==> Maximum matches per image pair : 50
  User thread created.
  Reference thread created.
  1 reference-thread added.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...
  User thread created.
  pollPendingThreads()
  1 user-thread added.
  Thread starting...

  Project contains the following images:
  Image 0
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0182.tif
    Remapped : yes
  Image 1
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0183.tif
    Remapped : yes
  Image 2
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0185.tif
    Remapped : yes
  Image 3
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0186.tif
    Remapped : yes
  Image 4
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0187.tif
    Remapped : yes
  Image 5
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0188.tif
    Remapped : yes
  Image 6
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0189.tif
    Remapped : yes
  Image 7
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0190.tif
    Remapped : yes
  Image 8
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0191.tif
    Remapped : yes
  Image 9
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0192.tif
    Remapped : yes
  Image 10
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0184.tif
    Remapped : yes
  Image 11
    Imagefile: /Volumes/Adams/Users/bst/Desktop/Hugin Export/_MG_0193.tif
    Remapped : yes

  --- Analyze Images ---
  i0 : Load image...
  i1 : Load image...
  i2 : Load image...
  i3 : Load image...
  i4 : Load image...
  i5 : Load image...
  i6 : Load image...
  i7 : Load image...
  i5 : Remap image...
  i6 : Remap image...
  i1 : Remap image...
  i3 : Remap image...
  i7 : Remap image...
  i4 : Remap image...
  i2 : Remap image...
  i0 : Remap image...
  i2 : Convert to greyscale double...
  i5 : Convert to greyscale double...
  i3 : Convert to greyscale double...
  i2 : Build integral image...
  i5 : Build integral image...
  i3 : Build integral image...
  i2 : Build distance map...
  i3 : Build distance map...
  i4 : Convert to greyscale double...
  i5 : Build distance map...
  i4 : Build integral image...
  i4 : Build distance map...
  i6 : Convert to greyscale double...
  i2 : Find keypoints...
  i3 : Find keypoints...
  i5 : Find keypoints...
  i6 : Build integral image...
  i7 : Convert to greyscale double...
  i6 : Build distance map...
  i7 : Build integral image...
  i4 : Find keypoints...
  i7 : Build distance map...
  i0 : Convert to greyscale double...
  i1 : Convert to greyscale double...
  i0 : Build integral image...
  i1 : Build integral image...
  i6 : Find keypoints...
  i0 : Build distance map...
  i1 : Build distance map...
  i7 : Find keypoints...
  i0 : Find keypoints...
  i1 : Find keypoints...
  i5 : Found 42196 interest points.
  i5 : Filtering keypoints...
  i5 : Kept 2400 interest points.
  i5 : Make keypoint descriptors...
  i5 : Build KDTree...
  i5 : Freeing memory...
  i8 : Load image...
  i3 : Found 47339 interest points.
  i3 : Filtering keypoints...
  i3 : Kept 2400 interest points.
  i3 : Make keypoint descriptors...
  i3 : Build KDTree...
  i3 : Freeing memory...
  i9 : Load image...
  An error happened while loading image : caught exception: std::bad_alloc
  i10 : Load image...
  An error happened while loading image : caught exception: std::bad_alloc
  i11 : Load image...
  An error happened while loading image : caught exception: std::bad_alloc
  cpfind(68746,0xb0081000) malloc: *** mmap(size=252317696) failed (error code=12)
  *** error: can't allocate region
  *** set a breakpoint in malloc_error_break to debug
  cpfind(68746,0xb0081000) malloc: *** mmap(size=252317696) failed (error code=12)
  *** error: can't allocate region
  *** set a breakpoint in malloc_error_break to debug
  cpfind(68746,0xb0081000) malloc: *** mmap(size=252317696) failed (error code=12)
  *** error: can't allocate region
  *** set a breakpoint in malloc_error_break to debug
  i2 : Found 40564 interest points.
  i2 : Filtering keypoints...
  i2 : Kept 2398 interest points.
  i2 : Make keypoint descriptors...
  i2 : Build KDTree...
  i2 : Freeing memory...
  i8 : Remap image...
  i4 : Found 45658 interest points.
  i4 : Filtering keypoints...
  i4 : Kept 2400 interest points.
  i4 : Make keypoint descriptors...
  i4 : Build KDTree...
  i4 : Freeing memory...
  i1 : Found 47289 interest points.
  i1 : Filtering keypoints...
  i6 : Found 49432 interest points.
  i6 : Filtering keypoints...
  i7 : Found 49374 interest points.
  i7 : Filtering keypoints...
  i6 : Kept 2358 interest points.
  i6 : Make keypoint descriptors...
  i1 : Kept 2400 interest points.
  i1 : Make keypoint descriptors...
  i0 : Found 44658 interest points.
  i0 : Filtering keypoints...
  i7 : Kept 2350 interest points.
  i7 : Make keypoint descriptors...
  i0 : Kept 2400 interest points.
  i0 : Make keypoint descriptors...
  i6 : Build KDTree...
  i1 : Build KDTree...
  i6 : Freeing memory...
  i7 : Build KDTree...
  i1 : Freeing memory...
  i7 : Freeing memory...
  i0 : Build KDTree...
  i0 : Freeing memory...


References