Java heap space

Hier schreibt ihr bitte Fehler rein, die ihr gefunden habt.
Wenn möglich mit einer genauen Beschreibung, was ihr gemacht habt und wie der Fehler aussieht.
Bitte hier nur Fehler melden, die in einer 4er-Version aufgetreten sind.

Moderatoren: Raskir, little.yoda, Zafnir, teclis2000, hades-hl, Gorbalad, Twister1982, Eclipse404

Forumsregeln
Bitte beachtet unsere Anmerkungen zum Bugreporting, bevor ihr neue Beiträge schreibt
Gesperrt
ChaoGirDja

Java heap space

Beitrag von ChaoGirDja » 31. Jan 2008, 20:05

Bei mir hat sich ebenso ein Bug beim Speichern eines Helden ergeben.
Ich bekomme folgenden Fehlertext:

Code: Alles auswählen

Helden-Version: 4.7.5.fix
Java-Version:   1.6.0_03
Betriebssystem: Windows XP
Java heap space
java.lang.AbstractStringBuilder.<init>(Unknown Source)
java.lang.StringBuffer.<init>(Unknown Source)
helden.framework.class.H.toString(Talentprobe.java:43)
helden.framework.held.OoOO.oooO.Ø00000(HeldXML.java:424)
helden.framework.held.OoOO.oooO.Ò00000(HeldXML.java:100)
helden.framework.held.OoOO.D.super(HeldFormatierer.java:99)
helden.framework.held.persistenz.XMLPersistierer.getHeldenXMLDocument(XMLPersistierer.java:181)
helden.framework.held.persistenz.XMLPersistierer.speichereHelden(XMLPersistierer.java:71)
helden.framework.held.C.Z.o00000(HeldenFabrik.java:121)
helden.gui.O0OO.Q.o00000(HeldenSpeichernAction.java:130)
helden.gui.O0OO.Q.actionPerformed(HeldenSpeichernAction.java:68)
javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.setPressed(Unknown Source)
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
java.awt.Component.processMouseEvent(Unknown Source)
javax.swing.JComponent.processMouseEvent(Unknown Source)
java.awt.Component.processEvent(Unknown Source)
java.awt.Container.processEvent(Unknown Source)
java.awt.Component.dispatchEventImpl(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Window.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
Außerdem ist mir aufgefallen das Zauberspezialisierungen auf dem Ritual-Bogen ausgegeben werden.... das führt zu einem sehr... seltsamen Druckbild, besonderes wenn man viele davon hat (und ich find sie zu nützlich, als sie nicht zu nutzen...)

ChaoGirDja

Re: Bug: Fehler beim Speichern der Helden

Beitrag von ChaoGirDja » 31. Jan 2008, 20:13

Zusatz:
Ich hatte noch einen 2ten Helden in der Liste. Nach dem Löschen konnte ich sauber speichern. :schockiert:

Zafnir
Podiumsleiter
Beiträge: 2342
Registriert: 22. Jun 2004, 09:25
Wohnort: Braunschweig
Kontaktdaten:

Re: Java heap space

Beitrag von Zafnir » 1. Feb 2008, 09:00

Hallo ChaoGirDja,

du gibst den Helden-Jar zu wenig Arbeitsspeicher zum arbeiten.
Anscheinend hast du viele Helden in deiner Liste.
Unser Programm braucht so ungefähr 32 MB um normal zu arbeiten.
Beim Laden und Speichern werden Zusätzlich ca 8 MB pro 100 Charaktere benötigt, (bei Magiern und Geweihten etwas mehr).

Deswegen sind in der Start.exe extra Parameter eingebettet, die es Java erlauben bis zu 128 MB Arbeitsspeicher zu benutzen.
Wenn du die EXE nicht benutzen willst, dann starte helden so: "java -Xms40M -Xmx128M -jar helden.jar"

MfG Maik

Garulf
Höhlenforscher -- (Höhlenkundig 12)
Beiträge: 221
Registriert: 5. Apr 2005, 11:13
Wohnort: Braunschweig

Re: Java heap space

Beitrag von Garulf » 2. Feb 2008, 00:06

Zafnir hat geschrieben:Hallo ChaoGirDja,

du gibst den Helden-Jar zu wenig Arbeitsspeicher zum arbeiten.
Anscheinend hast du viele Helden in deiner Liste.
Unser Programm braucht so ungefähr 32 MB um normal zu arbeiten.
Beim Laden und Speichern werden Zusätzlich ca 8 MB pro 100 Charaktere benötigt, (bei Magiern und Geweihten etwas mehr).

Deswegen sind in der Start.exe extra Parameter eingebettet, die es Java erlauben bis zu 128 MB Arbeitsspeicher zu benutzen.
Wenn du die EXE nicht benutzen willst, dann starte helden so: "java -Xms40M -Xmx128M -jar helden.jar"

MfG Maik
Dazu habe ich interessehalber eine Frage: Sind 40MB und 128 MB die Standard-Werte, wenn ich nur das helden.jar aufrufe, z.B. unter Windows mit Doppelclick?
Man liest sich,

Jörg aka Garulf

ChaoGirDja

Re: Java heap space

Beitrag von ChaoGirDja » 2. Feb 2008, 00:58

Zafnir hat geschrieben:Anscheinend hast du viele Helden in deiner Liste.
Es waren... exakt 2 ;)
Zafnir hat geschrieben:Deswegen sind in der Start.exe extra Parameter eingebettet, die es Java erlauben bis zu 128 MB Arbeitsspeicher zu benutzen.
Wenn du die EXE nicht benutzen willst, dann starte helden so: "java -Xms40M -Xmx128M -jar helden.jar"
Hurm... gut, werde das mal machen...
Wer denk denn bitte heutzutage noch an Arbeitsspeicher?

Zafnir
Podiumsleiter
Beiträge: 2342
Registriert: 22. Jun 2004, 09:25
Wohnort: Braunschweig
Kontaktdaten:

Re: Java heap space

Beitrag von Zafnir » 2. Feb 2008, 09:11

Hallo Ihr beiden,

@Garulf:
Das mit den Standart-Werten ist nicht einheitlich gelöst.
Unter Windows ist der Maximale Speicher auf 64 MB begrenzt und lässt sich zur Laufzeit nicht erhöhen, sondern nur mit den Parametern.
Unter Linux wird standardmäßig 1/8 des Arbeitsspeicher aber mindestens 64 Reserviert.
Unter Mac OS weiß es keiner so genau, weil Apple die JRE selber baut.

@ChaoGirDja:
Dann stimmt etwas anderes nicht.
Was für eine Kombination von Held hast du probiert zu erstellen?
Denn es scheint ja in irgend einer Form zu einer Endlosschleife gekommen zu sein, die dann deinen Arbeitsspeicher voll geschrieben hat.

MfG Maik

ChaoGirDja

Re: Java heap space

Beitrag von ChaoGirDja » 2. Feb 2008, 18:57

Zafnir hat geschrieben:@ChaoGirDja:
Dann stimmt etwas anderes nicht.
Was für eine Kombination von Held hast du probiert zu erstellen?
Denn es scheint ja in irgend einer Form zu einer Endlosschleife gekommen zu sein, die dann deinen Arbeitsspeicher voll geschrieben hat.
Belhankaner Magierin, Rasse Yauierien/Horasreich, Kultur Stadtadel/Stadt mit wichtigem Tempel/Hafenstadt/an wichtiger Handelsroute*
13000 AP
Gut 2 Dutzend Zauber, viele Spezialisierungen etc.
Der 2te in der Liste im Grunde das selbe, nur etwas anders verteil (quasie ein Zwillig)

*Zumindest soweit ich weiss, liegt Belhanka an einer solchen...

PS: Die vorgeschlagenen Optionen haben aber funktioniert....

Zafnir
Podiumsleiter
Beiträge: 2342
Registriert: 22. Jun 2004, 09:25
Wohnort: Braunschweig
Kontaktdaten:

Re: Java heap space

Beitrag von Zafnir » 2. Feb 2008, 19:17

Hallo ChaoGirDja,

hast du Zufällig ein WinXP 64?

MfG Maik

ChaoGirDja

Re: Java heap space

Beitrag von ChaoGirDja » 2. Feb 2008, 20:25

Zafnir hat geschrieben:hast du Zufällig ein WinXP 64?
Nup, nur das normale WinXP :)

Zafnir
Podiumsleiter
Beiträge: 2342
Registriert: 22. Jun 2004, 09:25
Wohnort: Braunschweig
Kontaktdaten:

Re: Java heap space

Beitrag von Zafnir » 2. Feb 2008, 20:47

Hallo ChaoGirDja,

kannst du mir mal deine Helden schicken, dann kann ich mir mal das mit mit Speicher-Analyse-Tools anschauen und vielleicht sehen woran es liegt, denn bei 2 Helden sollte sowas nicht passieren, da ja noch 30 MB platz vorhanden sein sollte.

Noch ein paar fragen dazu, benutzt du irgend welche Plugins?
Wenn ja dann sag mal welche.

MfG Maik

ChaoGirDja

Re: Java heap space

Beitrag von ChaoGirDja » 2. Feb 2008, 21:09

Ich hab das Heldenbogen-Plugin und das Kalender-Plugin drin.

Und ich hab grade fest bemerkt:
Der Fehler war, als ich den einen Char nach der Gen. Speichern wollte zuverlässig reproduzierbar.
Nachdem ich aber (nach exportierung der 2ten und dessen Löschung) Abgespeichert und neu Gestartet hab, tritt er nicht mehr auf. Auch wenn beide drin sind.
Eventuel hat sich das Ding bei generieren Verschluckt. Immerhin hält er ja für das Undo sämtliche Veränderungen bis zur Speicherung nach (*blub*... da fällt mir ein Request ein). Möglich das dass bei dem so viel geworden ist, das ihm der Speicher aus ging. 13000AP sind halt schon eine Menge...

Chars an per Mail?

Zafnir
Podiumsleiter
Beiträge: 2342
Registriert: 22. Jun 2004, 09:25
Wohnort: Braunschweig
Kontaktdaten:

Re: Java heap space

Beitrag von Zafnir » 4. Feb 2008, 11:48

Hallo ChaoGirDja,

Ich habe versucht es mit einem Helden nach zu stellen, aber bin nicht mit dem Speicher in Bedrängnis gekommen.
Nimm am besten die die E-Mail Adresse aus "?" -> "Über Helden".

Bitte schick uns die "helden.xml" und die ".heldenEinstellungen.xml" wenn du die Pfade nicht geändert hast liegen beide unter X:/Dokumente und Einstelluneg/[username]/

MfG Maik

ChaoGirDja

Re: Java heap space

Beitrag von ChaoGirDja » 4. Feb 2008, 14:39

Gut, Datein sind verschickt :)

Zafnir
Podiumsleiter
Beiträge: 2342
Registriert: 22. Jun 2004, 09:25
Wohnort: Braunschweig
Kontaktdaten:

Re: Java heap space

Beitrag von Zafnir » 4. Feb 2008, 17:24

Hallo ChaoGirDja,

und wir haben es erhalten.
Ich werde aber erst morgen dazu kommen, mich damit richtig zu beschäftigen.

MfG Maik

ChaoGirDja

Re: Java heap space

Beitrag von ChaoGirDja » 5. Feb 2008, 23:32

Eilt ja auch nicht.
Das Problem hat sich ja auch von alleine behoben, wie es scheint.
Dürfte halt nur für euch interessant sein. Immerhin ist der Fehler aufgetreten und irgendwas muss den ja Ausgelöst haben :)

Gesperrt