On 21/03/13 at 13:55 +0100, Vincent Pottier wrote:
> Le 21/03/2013 11:57, Lucas Nussbaum a écrit :
> >Que dit:
> >strace -f /home/vincent/Documents/cartographie/sh/france.osm2sql.sh
> >?
> >
> >Lucas
> Good guess !
> Je ne comprends pas tout mais voici un extrait vers la fin :
> 
> [pid 25569] write(2, "\nReading in file: /home/vincent/"..., 58
> Reading in file: /home/vincent/tmp/france-latest.osm.pbf
> ) = 58
> [pid 25569] time(NULL)                  = 1363869357
> [pid 25569] brk(0xa51e000)              = 0xa51e000
> [pid 25569] mmap2(NULL, 33558528, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x643df000
> [pid 25569] mmap2(NULL, 33558528, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x623de000
> *[pid 25569] open("/home/vincent/tmp/france-latest.osm.pbf",
> O_RDONLY) = -1 EOVERFLOW (Value too large for defined data type)*

D'après open(2):

EOVERFLOW
       pathname refers to a regular file that is too large to be opened.
       The  usual  scenario  here  is that  an application compiled on a
       32-bit platform without -D_FILE_OFFSET_BITS=64 tried to open a
       file whose size exceeds (2<<31)-1 bits; see also O_LARGEFILE
       above.  This is the error  specified by POSIX.1-2001; in kernels
       before 2.6.24, Linux gave the error EFBIG for this case.

Donc recompiler l'appli avec -D_FILE_OFFSET_BITS=64 devrait aider. (ou
passer sur un système 64 bits)

> J'ai mis en gras ce qui me semble être un indice de ce qui ne va pas.
> D'après ce que je viens de voir[1] mmap2 effectue une projection en
> mémoire d'un fichier. Peut-être que ma machine manque de mémoire
> pour traiter ce fichier de 2.4 Go (3.4 Go de RAM).

non, au pire ça swappera.
-- 
| Lucas Nussbaum      Assistant professor @ Univ. de Lorraine |
| lucas.nussb...@loria.fr                   LORIA / AlGorille |
| http://www.loria.fr/~lnussbau/            +33 3 54 95 86 19 |

_______________________________________________
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr

Répondre à