View Full Version : Strano errore in JAVA
franksisca
15-08-2005, 15:19
Ragazzi, mi dà questo errore, e non sò cosa sia:
Exception in thread "main" java.lang.VerifyError: (class: zioPiero/GraficaProduzione, method: carica signature: ()V) Unable to pop operand off an empty stack
at zioPiero.GestoreProduzione.main(GestoreProduzione.java:19)
se volete vi posto il codice.
BlueDragon
15-08-2005, 16:12
Bello! :)
Mai visto prima, sarei curioso di vedere le linee di codice incriminate :)
Una ricerca su google di "Unable to pop operand off an empty stack" ha dato vari risultati, alcuni in cui si faceva riferimento a bug di Eclipse ed uno in cui un utente diceva che usando x = x+... anziché x +=... non gli capitava. Anche nel tuo caso è coinvolto il +=?
Edit: ho fatto una ricerca sul forum della Sun ed i risultati mi sembrano migliori.
"Usually VerifyErrors signify a difference between a class when it was compiled, and when it was actually run".
Le cause sembrano essere varie ma comunque a giudicare dai primi post la soluzione tendenzialmente è di cancellare *tutti* i class coinvolti e riprovare ricompilando la classe (magari con il compilatore della Sun e non con altri compilatori....in almeno 1 caso il problema sembrava essere legato al compilatore).
franksisca
15-08-2005, 17:24
ecco il codice nei file allegati. io uso eclipse.
Si chiama zio piero perchè serve a mio zio piero, e scusate lo stile molto alla mano, ma l'ho dovuto fare tutt'oggi perchè domani mattina va via.
di leggere il codice non mi va per pigrizia (:Prrr::D), ma sarei veramente molto curioso di sapere come hai fatto a causare uno stack underflow utilizzando un linguaggio che non ti permette nemmeno di usare i puntatori..... O_o'
"Usually VerifyErrors signify a difference between a class when it was compiled, and when it was actually run". ho capito; interessante, non avevo mai riflettuto su simili evenienze. già, effettivamente la cosa potrebbe essere dovuta ad un bug di Eclipse; la soluzione è un semplice "Rebuild All" (non ricordo come si chiama in Eclipse).
franksisca
15-08-2005, 19:36
Cioè mi state dicendo che è un errore di compilazione?!?!? :confused: :confused:
Appena posso lo riprovo e vi fdaccio sapere.
franksisca
15-08-2005, 19:40
Ragazzi, con eclipse, ho tolto il rebuild automatico, ho fatto "build all", ho eseguito e indovinate........
Exception in thread "main" java.lang.VerifyError: (class: zioPiero/GraficaProduzione, method: carica signature: ()V) Unable to pop operand off an empty stack
at zioPiero.GestoreProduzione.main(GestoreProduzione.java:18)
:cry: :cry:
Ma che sta succedendo???
BlueDragon
15-08-2005, 20:46
Ho scaricato lo zip, compilato tutto con JCreator (al momento settato per usare la JDK version 1.5.0_03).
Fatto partire, funziona tutto alla grande :)
[A parte che se gli dico annulla quando devo inserire un valore da sommare al pacco, mi dice che devo inserire un valore intero].
Quindi confermerei che il problema è della Eclipse.... ?
Ho scaricato la versione nonricordoqualecredol'ultima mentre curiosavo il thread sul progetto di programmazione comune, ora magari la installo e vedo se riproduco il tuo stesso problema...
EDIT: dimenticavo..gli altri programmi che hai creato con Eclipse, ti funzionano bene se li rebuildi adesso?
anche a me funziona compilando a mano con il jdk della sun.
BlueDragon
15-08-2005, 21:54
Ho scaricato Eclipse 3.1, ho creato un progetto Test, ho copiaincollato le tue classi, compilate, mandate in run...tutto funziona.
Ho fatto run (con il rebuild automatico) dopo aver settato la compiler compliance a 1.3,1.4 e 5.0 (con Use default compliace settings per le sotto-opzioni): non hai mai dato problemi.
Ti faccio un po' di domande a raffica tanto per vedere se si riesce a restringere il campo delle possibilità per inchiodare il bug:
Che versione di Eclipse hai?
Hai qualche opzione particolare nelle sottoopzioni di compiler compliance? Hai fatto qualche update di recente o cambiato qualche setting particolare?
Le classi che hai usato in questa applicazione le avevi già tutte usate in altri progetti?
L'eccezione ti indica solo la riga 18 di GestoreProduzione oppure ti mostra qualche altra riga con qualche informazione aggiuntiva per il problema?
Hai provato a cancellare manualmente tutto l'output del progetto lasciando vivi solo i .java e poi a ricompilare?
franksisca
16-08-2005, 10:09
Rispondo a tutti:
anx721:
che intendi con compilando a mano :confused:
bluedragon:
Eclipse 3.1
nessuna opzione particolare e update recente.
queste sono classi nuove, ma i metodi carica e salve sono molto simili ad altri.
sL'eccezione è quella che ho amndato.
Già fattto la ricompilazione.
Glialtri programmi fatti con eclipse non mi danno problemi.
Solo questo, e ora vi dico anche nun'altra cosa:
Ho scaricato JAVALAUNCHER e mi dà lo stesso errore, ora faccio un paio di prove e poi vi rimetto al corrente di tutto.
franksisca
16-08-2005, 10:40
Ragazzi, come è strana la vita :rolleyes: :rolleyes:
Allora, se lo faccio con textpad, ovvero copio il codice ed eseguo, tutto ok.
A prop, come faccio a fare chiudere la finestra di dialogo???
Ho lasciato i libri a cosenza e mi scoccia andare a spulciare le API.
Se non ricordo male devo passare anche un opzione, ma non ricordo qula.Cmq adesso se lo faccio con TEXTPAD funziona. :sofico:
E anche con JAVALAUNCHER.
Ma se mi dovesse ricapitare in futuro, che faccio??? :muro:
Comunque grazie a tutti, siete fantastici. :D
se è un problema di eclipse hai poco da fare...se eclipse utilizza un proprio compilatore evidentemente sbaglia qualcosa nel creare il bytecode.
Per compilare a mano intendo utilizzare li comando javac da linea di comando
franksisca
16-08-2005, 11:23
Ho capito cosa intendevi con la compilazione a mano, e non ci avevo pensato, anche se ora non mi serve più :D
quindi se mi ricapita copio in textpad e dovrebbe andare???
potrebbe essere un errore della versione di Eclipse, e quindi migliorabile con la prossima versione???
e poi, perchè me lo fà solo con questo progetto e non con gli altri(ne ho eseguiti un paio proprio per vedere che succedeva e andavano tutti ok!)???
Ragazzi, come facci a fare che quando pèremo annulla mi chiude la casella di input???(Come mi sento ignorante........ :( :( :cry: :cry: )
BlueDragon
16-08-2005, 11:28
Curioso...:)
Ma dopo aver messo il codice nel textpad, a chi l'hai fatto compilare?
Cmq ti converebbe segnalare il bug ad Eclipse, se non è già presente tra quelli aperti..:)
Per quanto riguarda la finestra di dialogo..che intendi per "chiuderla"? Se ti riferisci al fatto che per adesso non si può annullare, fai un caso speciale per quando ti ritorna null :)
franksisca
16-08-2005, 11:36
di farlo compilare lo faccio compilare a TEXTPAD stesso.
Grazie per il consiglio sul "null"!!!!
BlueDragon
16-08-2005, 11:47
Ah, avevo letto NOTEPAD :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.