Prcessing, invio stringa. Errore in compilazione

Ciao a tutti ho scritto un software in processing il quale deve comunicare via seriale con Arduino per comandare una matrice led. Il software processing per fare ciò deve inviare ad esso delle stringhe. Ma al momento della compilazione ottengo questo errore:

ArrayIndexOutOfBoundsException: 0

sulla riga:

port = new Serial(this, Serial.list()[0], 9600);

Ciò accade se PRIMA apro il Serial Monitor del programma caricato su Arduino e poi lancio il programma Processing Se, invece, faccio PRIMA partire il programma processing e poi apro il Serial Monitor ottengo, questa volta nell'IDE di Arduino l'errore:

Serial port '/dev/ttyUSB0' not found.  Did you select the right one from the Tools > Serial Port menu?

Ovviamente il problema è dovuto dal fatto che due applicazioni non riescono ad usare lo stesso "canale" contemporaneamente. Così stupito apro un vecchio programma Processing-Arduino in cui era prevista comunicazione tra i due e il comportamento è lo stesso quando poi in passato tutto andava bene.

COme e' posibile?

p.s. uso linux. Nello specifico Ubuntu

ciao e grazie in anticipo ;)

Serial port '/dev/ttyUSB0' not found.  Did you select the right one from the Tools > Serial Port menu?

direi di analizzare in tanto un errore alla volta... questo dice che non trova la device... se fai un: ls -la /dev/ttyUSB* ti trova la device USB0 con l'arduino collegato?

grazie bebbo ma ho capito qual'era il problema. facendo andare i due programmi senza far partire il Serial Monitor va tutto bene. Quindi presumo che è lui a dar fastidio.

ciao e grazie

si ogni applicazione che comunica con la porta deve essere la sola in quel momento sennò va in conflitto