micmacIGN / micmac

Free open-source photogrammetry software tools
http://micmac.ensg.eu
Other
705 stars 151 forks source link

bug: MICMAC windows fopen/fseeki64 ByProcess != 1 #127

Open dronemapper-io opened 5 years ago

dronemapper-io commented 5 years ago

Bug report for Windows 64 and ZoomF=1 processing. It seems to do with the fseeki64 and fopen code when you are running multiple processes (ByProcess != 1). This is a 64bit compiled version in release mode using Visual Studio 2017. The commands below work under the same version compiled on linux

Command: Malt Ortho .*.JPG ZoomF=1 NbProc=8 Error output:

Error while file reading |
    FILE = ./MEC-Malt/Z_Num10_DeZoom1_STD-MALT.tif  pos = 2491416584|
 reading 1 , got 0|------------------------------------------------------------
|   Sorry, the following FATAL ERROR happened              
|                                                          
|    Error while file reading
|                                                          
------------------------------------------------------------
-------------------------------------------------------------
|       (Elise's)  LOCATION :                               
|                                                           
| Error was detected
|          at line : 1239
|          of file : micmac-master\src\util\files.cpp
-------------------------------------------------------------
Bye  (press enter)

Command: Malt Ortho .*.JPG ZoomF=1 NbProc=1 <--- works Command: Malt Ortho .*.JPG ZoomF=2 NbProc=8 <-- works

If you run the failed Makefile with -P1 instead of -P16 it also works but it is very slow Z_Num10_DeZoom1_STD-MALT.tif is roughly 2.4GB .. I have tested other smaller datasets and they succeed.

Any hints?

dronemapper-io commented 5 years ago

Setting https://github.com/micmacIGN/micmac/blob/163603357fdcf782207e07306246a0748df901b6/src/uti_phgrm/MICMAC/cAppliMICMAC.cpp#L2223

to bool makeSucceeded = launchMake(nomMakefile, "", 1); allows the ZoomF to work but that isn't practical.