hugin-devs team mailing list archive
-
hugin-devs team
-
Mailing list archive
-
Message #01522
[Bug 717944] Re: cpfind memory allocation error
The problem is memory usage and number of threads (aka cores).
Looking at the inital report it tries to load and remap 8 images at one time. This steps needs propably "too much" memory.
So we need to reduce memory usage or/and automatically restrict the number of threads depending on image sizes.
Workaround could be to limit the number of threads with command line
option --ncores.
--
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