Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
Software Development
>
Interpreters
>
Mysaifu JVM
>
Ticket-Liste / Suche
>
Ticket #8945
Mysaifu JVM
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
Subversion
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Kommunikation
Alle Mailinglisten
mysaifujvm-announce
Neuigkeiten
Ticket #8945
Ticket-Liste
Neue Ticket abschicken
RSS
Garbage Collector not work correctly
Eröffnet am:
2006-09-10 12:00
Letztes Update:
2006-09-16 11:42
beobachte
ON
OFF
Auswertung:
freebeans
Verantwortlicher:
freebeans
Typ:
Fehler
Status:
Geschlossen
Komponente:
v0.3.0
Meilenstein:
(Keine)
Priorität:
9 - Höchste
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine
Details
Garbage Collector seems not work correctly.
For example, executing this simple code there is not
memory in few minutes
and the PDA frozes.
import java.lang.Thread;
public class DestructorMemory{
public static void main(String[] args) {
String oString;
while (true){
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
try{
Thread.sleep(1);
}catch(InterruptedException e){}
}
}
}
Console with -verbose:gc shows...
[FULL GC 2047K -> 516K(1531K), 0.050665 secs]
[Starting finalize (33 objects)]
[FULL GC 2047K -> 362K(1685K), 0.061390 secs]
[Starting finalize (0 objects)]
[FULL GC 2047K -> 362K(1685K), 0.062658 secs]
[Starting finalize (0 objects)]
[FULL GC 2047K -> 362K(1685K), 0.061723 secs]
[Starting finalize (0 objects)]
Ticket-Verlauf (2/2 Historien)
2006-09-10 22:39
Aktualisiert von:
freebeans
Kommentar
Logged In: YES
user_id=14530
monitor.cpp内のmonitor_wait()で、CreateEvent()を2回実施して
いたことが原因。1回目のCreateEvent()で作成されたHANDLEがリ
ークしていた。
この部分を修正することにより、問題は解決した模様。
もう少し様子を見て、Version 0.3.1でリリースするかどうか決定
する。
2006-09-16 11:42
Aktualisiert von:
freebeans
Ticket Close date
is changed to
2006-09-16 11:42
Lösung
Update from
Keine
to
Gefixt
Status
Update from
Offen
to
Geschlossen
Kommentar
Logged In: YES
user_id=14530
Version0.3.1としてリリース済み。
Dateianhangliste (
0
)
Dateianhangliste
Keine Anhänge
Bearbeiten
Please login to add comment to this ticket »
Anmelden
For example, executing this simple code there is not
memory in few minutes
and the PDA frozes.
import java.lang.Thread;
public class DestructorMemory{
public static void main(String[] args) {
String oString;
while (true){
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
oString=new
String
("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX");
try{
Thread.sleep(1);
}catch(InterruptedException e){}
}
}
}
Console with -verbose:gc shows...
[FULL GC 2047K -> 516K(1531K), 0.050665 secs]
[Starting finalize (33 objects)]
[FULL GC 2047K -> 362K(1685K), 0.061390 secs]
[Starting finalize (0 objects)]
[FULL GC 2047K -> 362K(1685K), 0.062658 secs]
[Starting finalize (0 objects)]
[FULL GC 2047K -> 362K(1685K), 0.061723 secs]
[Starting finalize (0 objects)]