IllegalArgumentException - p-e limitation taille fichier

classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

IllegalArgumentException - p-e limitation taille fichier

Nicolas F.
Administrator
Salut

J'ai lancé le calcul de la cartographie de nantes, avec une estimation de résultat de 31 millions de triangles.

Ca a planté lors du calcul de la cellule 364 sur 1024 (grille 32*32). Dans le dossier temp de OrbisGis j'ai un fichier qui fait 2147483650 octets. Drôlement proche de 2^31 ..

Je suis sous ubuntu 64 bits.

Voici le traceback :

ERROR [Thread-5] (DefaultErrorManager.java:50) - 
java.lang.IllegalArgumentException
	at sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:277)
	at org.gdms.data.indexes.btree.ReadWriteBufferManager.readIntoBuffer(ReadWriteBufferManager.java:88)
	at org.gdms.data.indexes.btree.ReadWriteBufferManager.getWindowOffset(ReadWriteBufferManager.java:135)
	at org.gdms.data.indexes.btree.ReadWriteBufferManager.putInt(ReadWriteBufferManager.java:300)
	at org.gdms.driver.gdms.GdmsWriter.addRow(GdmsWriter.java:112)
	at org.gdms.driver.gdms.GdmsWriter.addValues(GdmsWriter.java:89)
	at org.gdms.driver.DiskBufferDriver.addValues(DiskBufferDriver.java:168)
	at lcpc_son.BR_TriGrid.evaluate(BR_TriGrid.java:475)
	at org.gdms.sql.strategies.CustomQueryOperator.getResultContents(CustomQueryOperator.java:139)
	at org.gdms.sql.strategies.AbstractOperator.getResult(AbstractOperator.java:188)
	at org.gdms.sql.strategies.CreateTableOperator.getResultContents(CreateTableOperator.java:65)
	at org.gdms.sql.strategies.AbstractOperator.getResult(AbstractOperator.java:188)
	at org.gdms.sql.strategies.Instruction.execute(Instruction.java:87)
	at org.orbisgis.core.ui.plugins.views.SQLConsoleViewPlugIn$ExecuteScriptProcess.run(SQLConsoleViewPlugIn.java:310)
	at org.orbisgis.core.background.Job.run(Job.java:77)
	at org.orbisgis.core.background.RunnableBackgroundJob.run(RunnableBackgroundJob.java:56)
	at java.lang.Thread.run(Thread.java:662)
 INFO [Thread-5] (JobQueue.java:115) - Job finished: 0

Que proposez-vous comme solution ?

merci
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Adelin
This post was updated on .
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Nicolas F.
Administrator
J'ai 3go de mémoire
L'algorithme BR_Trigrid n'utilise pas plus de 300 mo de mémoire vive (selon le graph d'orbisgis)


Pour ce qui est de l'espace :

fortin@ESAR-064-06:~$ df
Sys. de fich.           1K-blocs       Occupé Disponible Capacité Monté sur
/dev/sdb6             57672700  12494796  42248292  23% /
none                   1538636       248   1538388   1% /dev
none                   1545492       188   1545304   1% /dev/shm
none                   1545492        96   1545396   1% /var/run
none                   1545492         0   1545492   0% /var/lock
none                  57672700  12494796  42248292  23% /var/lib/ureadahead/debugfs
/dev/sdc1            1465136000 118048532 1347087468   9% /media/FreeAgent Drive
/dev/sdb7             31290364   8722060  22568304  28% /media/projects

Donc j'ai 42go de libre sur le /home/
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
Ce n'est pas un problème de ram. L'erreur remontée indique clairement
un problème avec un argument. On utilise un int dans
ReadWriteBufferManager pour référencé la place de notre curseur dans
le fichier. Signé, l'entier, on est en Java. Donc effectivement, à
2^31-1, ça foire : on ajoute 4, on se retrouve avec un négatif en
argument d'une fonction de la JVM qui attend un entier positif, ça ne
passe pas. La bonne nouvelle, c'est que ce cas est prévu dans la JVM,
qui s'attendra à un long plutôt qu'à un int (donc dans GDMS, la JVM
fait un cast qui va bien).

Bref, je regarde pour remplacer cet int. Sachant que je n'ai pas le
fichier pour tester...

2010/10/27 Nicolas F. (LCPC) [via OrbisGIS]
<[hidden email]>:

> J'ai 3go de mémoire
> L'algorithme BR_Trigrid n'utilise pas plus de 300 mo de mémoire vive (selon
> le graph d'orbisgis)
>
>
> Pour ce qui est de l'espace :
>
> fortin@ESAR-064-06:~$ df
> Sys. de fich.           1K-blocs       Occupé Disponible Capacité Monté sur
> /dev/sdb6             57672700  12494796  42248292  23% /
> none                   1538636       248   1538388   1% /dev
> none                   1545492       188   1545304   1% /dev/shm
> none                   1545492        96   1545396   1% /var/run
> none                   1545492         0   1545492   0% /var/lock
> none                  57672700  12494796  42248292  23%
> /var/lib/ureadahead/debugfs
> /dev/sdc1            1465136000 118048532 1347087468   9% /media/FreeAgent
> Drive
> /dev/sdb7             31290364   8722060  22568304  28% /media/projects
>
>
> Donc j'ai 42go de libre sur le /home/
>
> ________________________________
> View message @
> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5678681.html
> To start a new topic under OrbisGIS, email
> [hidden email]
> To unsubscribe from OrbisGIS, click here.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
In reply to this post by Nicolas F.
En me relisant, je me dis que je suis pas hyper clair, mais l'idée de
Nicolas était la bonne. On a un problème dans GDMS sur le
positionnement d'un curseur d'écriture.

2010/10/27 Alexis "Agemen" <[hidden email]>:

> Ce n'est pas un problème de ram. L'erreur remontée indique clairement
> un problème avec un argument. On utilise un int dans
> ReadWriteBufferManager pour référencé la place de notre curseur dans
> le fichier. Signé, l'entier, on est en Java. Donc effectivement, à
> 2^31-1, ça foire : on ajoute 4, on se retrouve avec un négatif en
> argument d'une fonction de la JVM qui attend un entier positif, ça ne
> passe pas. La bonne nouvelle, c'est que ce cas est prévu dans la JVM,
> qui s'attendra à un long plutôt qu'à un int (donc dans GDMS, la JVM
> fait un cast qui va bien).
>
> Bref, je regarde pour remplacer cet int. Sachant que je n'ai pas le
> fichier pour tester...
>
> 2010/10/27 Nicolas F. (LCPC) [via OrbisGIS]
> <[hidden email]>:
>> J'ai 3go de mémoire
>> L'algorithme BR_Trigrid n'utilise pas plus de 300 mo de mémoire vive (selon
>> le graph d'orbisgis)
>>
>>
>> Pour ce qui est de l'espace :
>>
>> fortin@ESAR-064-06:~$ df
>> Sys. de fich.           1K-blocs       Occupé Disponible Capacité Monté sur
>> /dev/sdb6             57672700  12494796  42248292  23% /
>> none                   1538636       248   1538388   1% /dev
>> none                   1545492       188   1545304   1% /dev/shm
>> none                   1545492        96   1545396   1% /var/run
>> none                   1545492         0   1545492   0% /var/lock
>> none                  57672700  12494796  42248292  23%
>> /var/lib/ureadahead/debugfs
>> /dev/sdc1            1465136000 118048532 1347087468   9% /media/FreeAgent
>> Drive
>> /dev/sdb7             31290364   8722060  22568304  28% /media/projects
>>
>>
>> Donc j'ai 42go de libre sur le /home/
>>
>> ________________________________
>> View message @
>> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5678681.html
>> To start a new topic under OrbisGIS, email
>> [hidden email]
>> To unsubscribe from OrbisGIS, click here.
>>
>
>
>
> --
> OrbisGIS supporter.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Nicolas F.
Administrator
je suis le premier bourrin à créer un fichier gdms de plus de 2go ? ^^

Mais bon, de toute facon, je ne suis pas sûr de pouvoir afficher le résultat.

Disons que ce sera le stress test d'orbisgis :)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
Tu peux ouvrir un ticket sur le trac, pour cette erreur ? C'est pour
notre suivi de projet ^_^

2010/10/27 Nicolas F. (LCPC) [via OrbisGIS]
<[hidden email]>:

> je suis le premier bourrin à créer un fichier gdms de plus de 2go ? ^^
>
> Mais bon, de toute facon, je ne suis pas sûr de pouvoir afficher le
> résultat.
>
> Disons que ce sera le stress test d'orbisgis :)
>
> ________________________________
> View message @
> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5678718.html
> To start a new topic under OrbisGIS, email
> [hidden email]
> To unsubscribe from OrbisGIS, click here.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Adelin
This post was updated on .
In reply to this post by Nicolas F.
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Nicolas F.
Administrator
Je me suis connecté sur http://geosysin.iict.ch/irstv-trac

Mais dans la barre dans le menu j'ai pas "New Ticket". Pourtant je suis bien loggé avec mon compte.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
Du coup je m'en occupe ;-)

2010/10/27 Nicolas F. (LCPC) [via OrbisGIS]
<[hidden email]>:

> Je me suis connecté sur http://geosysin.iict.ch/irstv-trac
>
> Mais dans la barre dans le menu j'ai pas "New Ticket". Pourtant je suis bien
> loggé avec mon compte.
>
> ________________________________
> View message @
> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5678785.html
> To start a new topic under OrbisGIS, email
> [hidden email]
> To unsubscribe from OrbisGIS, click here.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
In reply to this post by Nicolas F.
Ticket #265

2010/10/27 Alexis "Agemen" <[hidden email]>:

> Du coup je m'en occupe ;-)
>
> 2010/10/27 Nicolas F. (LCPC) [via OrbisGIS]
> <[hidden email]>:
>> Je me suis connecté sur http://geosysin.iict.ch/irstv-trac
>>
>> Mais dans la barre dans le menu j'ai pas "New Ticket". Pourtant je suis bien
>> loggé avec mon compte.
>>
>> ________________________________
>> View message @
>> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5678785.html
>> To start a new topic under OrbisGIS, email
>> [hidden email]
>> To unsubscribe from OrbisGIS, click here.
>>
>
>
>
> --
> OrbisGIS supporter.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

ebocher
Administrator
In reply to this post by Nicolas F.
Try to create or uppdate a ticket. It should work.

Erwan.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
Salut !

J'ai une bonne et une mauvaise nouvelle...

La bonne, c'est que j'ai une proposition de fix. J'ai remplacé des int
par des long là où il fallait, et je réussis à écrire des fichiers
gdms, et à les lire en récupérant les bonnes données. Testé sur une
table de 1711 lignes.

Le problème (on est toujours dans la bonne nouvelle, hein :-p ) c'est
que j'ai pas les volumes suffisants pour créer un fichier de 2Go. Je
suis sur le point de faire une branche dédiée pour ce problème, afin
que tu puisses essayer, Nicolas.

Avant ça, cependant, la mauvaise nouvelle... Le fix n'est pas
uniquement sur la lecture et l'écriture de fichiers en général. Il a
également fallu modifier le format de fichier gdms... Autrement dit,
la gestion des références internes, dans le fichier, a changé, des int
ont été remplacés par des long. Je n'assure pas la rétro-compatibilité
du logiciel, là. Du coup, pour tes tests, nicolas, tu ne pourras pas
réutiliser les fichiers GDMS précédemment générés... Selon tes
besoins, je vais essayer de mettre ça en place vite (ce n'est pas
nécessairement insurmontable ^_^).

Dès que la branche est créée, je te tiens au courant.

On 27 October 2010 17:36, ebocher [via OrbisGIS]
<[hidden email]> wrote:

> Try to create or uppdate a ticket. It should work.
>
> Erwan.
>
>
> ________________________________
> View message @
> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5679114.html
> To start a new topic under OrbisGIS, email
> [hidden email]
> To unsubscribe from OrbisGIS, click here.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Nicolas F.
Administrator
Concernant l'importance, c'est certain qu'il ne sera pas possible de proposer un fichier gdms contenant la totalité de la cartographie de nantes. Peut être qu'en sectionnant par quartier de nantes et communes, nous n'arriverons pas à la limite fatidique et puis ca fera des cartes plus lisibles. 2go c'est quand  même trop gourmand si on veut l'afficher sous orbisGis (imagine la taille du quadtree comportant + de 20 millions d'éléments ..)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

ebocher
Administrator
Hello,

Dans la continuité de Nicolas, on peut imaginer à l'exemple de ce qui ce fait avec les images de faire des mosaïques de données vectorielles. Un fichier vectoriel trop volumineux serait partitionné en plusieurs fichiers selon une grille régulière (tuile). Une mosaïque pourrait avoir également plusieurs niveaux de résolution. Level 0 = tout, Level 1 = données vectorielles dégradées...

C'est une piste à mettre de côté car les volumes de données ne cessent de croître.  

Erwan.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
In reply to this post by Nicolas F.
Même en découpant les données en sous-ensembles, je trouve que le bug
reste gênant. La limitation devrait sauter, là... Après, le problème
restant (a priori, modulo les bugs qui vont apparaître), c'est la
rétro-compatibilité. C'est pour ça que je fais une branche,
d'ailleurs, c'est pour m'assurer qu'on sait toujour lire les anciens
formats.

Dans tous les cas, ma proposition de fix est dans la branche
largegdmsfiles. Comme dit dans mon message précédent, les données en
entrée ne peuvent pas être au format gdms (sauf si elles ont été
générées par la version du logiciel contenue dans cette branche. Un
traitement qui crée un fichier gdms donnera un fichier gdms qui pourra
être relu par le logiciel).

Je vais travailller sur la rétro-compatibilité. Ça devrait le faire.

Changeset #9964.

On est, pour l'instant, à côté du problème des fichiers trop
volumineux. Mais effectivement, la définition de stratégies adaptées
est de plus en plus pressante...

2010/11/2 Nicolas F. (LCPC) [via OrbisGIS]
<[hidden email]>:

> Concernant l'importance, c'est certain qu'il ne sera pas possible de
> proposer un fichier gdms contenant la totalité de la cartographie de nantes.
> Peut être qu'en sectionnant par quartier de nantes et communes, nous
> n'arriverons pas à la limite fatidique et puis ca fera des cartes plus
> lisibles. 2go c'est quand  même trop gourmand si on veut l'afficher sous
> orbisGis (imagine la taille du quadtree comportant + de 20 millions
> d'éléments ..)
>
> ________________________________
> View message @
> http://orbisgis.3871844.n2.nabble.com/IllegalArgumentException-p-e-limitation-taille-fichier-tp5678587p5696620.html
> To start a new topic under OrbisGIS, email
> [hidden email]
> To unsubscribe from OrbisGIS, click here.
>



--
OrbisGIS supporter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Nicolas F.
Administrator
Bonjour,

Le correctif est prévu pour la version 4 de OrbisGis ?

# version changed from 3.0 to 4.0
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Gwendall Petit
Administrator
Bonjour Nicolas,

Rien ne t'échappes !

En fait on a mis V4.0 car on n'est certains de ne pas pouvoir livrer pour la V3.0.
Par contre il se pourrais que cela soit intégré dans la V3.1 (d'ici 3 mois) ....

Affaire à suivre.

Gwendall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: IllegalArgumentException - p-e limitation taille fichier

Alexis.G
Salut !

En fait, le patch est prêt, mais il y a un travail d'intégration à faire, assez long malheureusement, pour des histoires de rétrocompatibilité. Par ailleurs, le format GDMS va évoluer, on va peut être fusionner les modifications...

Je plussoie donc : à suivre ;-)

@+

Alexis.


--
OrbisGIS supporter.
Loading...