Fehler nach Passworteingabe

Ich habe hier 1.8.141 auf Win7/64 und wollte schon nach Beispieldaten fragen.
Aber falls es an einer alten Version liegt, nützt das da auch nichts.

Ich würde gerne mal einen Branch mit einem entsprechenden Fix zusammenstellen.
Hast Du eine Idee, wie man da eine Testversion für ausgewählte User machen könnte?
Oder halt nur zum selber laden, erstmal ohne automatisches Update - damit es nicht bei allen brennt.

Wenn ich das richtig sehe, hat @Waldschrat genau die Version genutzt.

In den Einstellungen kann man beliebige URLs eintragen. Du könntest eine Update Site auch irgendwo anders hosten. Das Problem ist aber immer - das Update tut nur, wenn die Version hochgezählt wird. Man verbrennt dabei Versionen.

Ich würde einfach irgendwo eine Version zum Download anbieten.

Aber ehrlich gesagt: lohnt sich das? Das Compression Level können wir auch wieder ändern ohne die “try - catch” umzustellen.

0.27.8 funktioniert wieder. Vielen Dank für die schnelle Hilfe.

Ah ok, dann also eher eine normale Version.
Oder ich packe zum Testen einfach das Ergebnis des Builds zusammen und stelle es hier bereit.

Ja, der Compression Level wäre auch nicht das Problem.
Ich finde die Überarbeitung dann schon sauberer - ich will den Code gerne besser zurücklassen, als ich ihn vorgefunden habe :wink:

@Waldschrat: könntest Du eine Testversion, die ich bereitstelle, gegen Deine Datei testen?
Oder falls Du eine Testdatei hast ohne allzu viele persönliche Daten, kannst Du sie mir auch zur Verfügung stellen.

Ok, ich habe diesen Pull Request erstellt mit den Änderungen, um nur die BadPaddingException abzufangen und die anderen IOExceptions zuzulassen:

Ich habe auch Portfolio Performance für Windows 64 gebaut und hier abgelegt.
Es reicht, die ZIP-Datei zu entpacken und die PortfolioPerformance.exe zu starten.

@Jens_Boettcher, @Waldschrat und @dorg2009 : könnt Ihr es bitte mit dieser Fassung noch einmal testen und das Ergebnis hier posten? Vielen Dank schon einmal :smile:

Die Version 0.27.8 funktioniert wieder wie gewohnt, mit der gibt es keine Probleme bei mir. Mit der ZIP-Variante erscheint sofort nach dem Doppelklick auf die EXE folgendes:

Getestet habe ich auf dem Desktop, dem Programme und dem Programme(x86) Verzeichnis immer als Admin, das Ergebnis ist immer das Gleiche.

Exit Code = 13 tritt eigentlich immer dann auf, wenn Bit Version von JDK/JRE nicht zu der von PortfolioPerformance passen.

Du hast die 64bit Version von PP, ist aber unter c:\ProgramData\Oracle\Java\ auch die 64bit version installiert? Irgendwie scheint der Launcher da ein anderes JRE zu nehmen als in Deiner anderen Installation.

(So als Nebenbemerkung: mit Java 9 kann man reduzierte Laufzeitumgebungen bauen. Ich überlege schwer ob ich nicht Java direkt mit einpacken soll. Das ist einfach zu frickelich das passende JDK/JRE zu finden. :grimacing:)

Nein, ich habe eine 32-Bit Version von PP installiert, da meine Java-Version ebenfalls x86 ist und ich das für sinnvoller hielt. Ich habe lediglich ein 64-Bit Betriebssystem. Als ich den Test gemacht habe, habe ich nicht weiter darüber nachgedacht das es evtl. zu Inkompatibilitäten zwischen den Versionen kommen kann (war auch schon 2:00 Uhr :slight_smile:)

Das hatte ich mir schon gedacht, nachdem ich nur die 64-bit-Variante zur Verfügung gestellt hatte :wink:

Ich habe jetzt die aktuellen Änderungen aus dem Pull Request noch einmal gebaut:
Und zwar als 32-bit und 64-bit - eins davon müsste dann ja bei Dir funktionieren.

Falls Du das nochmal testen kannst @Jens_Boettcher, wäre das super. Ich würde das schon gerne sauber lösen aber möchte auch vermeiden, dass es dann bei vielen Nutzern nicht richtig funktioniert.

Die 32-Bit Version 0.27.9.201710031436 läuft bei mir. Ich hab nach dem Starten folgendes im Fehlerspeicher:

Test

Die roten X’e können ignoriert werden, dass sind Wertpapiere die in der angelegten Form nicht mehr existieren, von mir aber nicht gelöscht wurden.

In den Warnungen steht folgendes:

Tue Oct 03 19:00:33 CEST 2017
Server returned lastModified <= 0 for http://updates.abuchen.name/portfolio/content.xml.xz

Tue Oct 03 19:00:33 CEST 2017
Server returned lastModified <= 0 for http://updates.abuchen.name/portfolio/content.jar

Das steht da aber, glaube ich, immer drin.

Vielen Dank für das Testen!

Das schaut soweit gut aus @AndreasB.
Ich glaube, die Fehler mit lastModified erscheinen, weil ich die Version selber erstellt habe.

Wenn sich die Datei aber sauber öffnen ließ, ist unser Ziel schon erreicht :smile:

Die kommen - aus welchen Gründen auch immer - ab und an mal. Das passiert im Rahmen des Checks nach Aktualisierungen. Keine Ahnung warum. Leider komme ich an die Code Stelle auch nicht ran - einfach ignorieren.

Der Fehler tritt aktuell bei mir wieder auf:

Tue Jan 26 10:33:59 CET 2021
XML kann nicht geparst werden:  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
---- Debugging information ----
message             :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
cause-exception     : com.thoughtworks.xstream.io.StreamException
cause-message       :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
class               : java.util.ArrayList
required-type       : java.util.ArrayList
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /client/securities/security[27]/prices
line number         : 61980
class[1]            : name.abuchen.portfolio.model.Security
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : name.abuchen.portfolio.model.Client
version             : not available
-------------------------------

java.io.IOException: XML kann nicht geparst werden:  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
---- Debugging information ----
message             :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
cause-exception     : com.thoughtworks.xstream.io.StreamException
cause-message       :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
class               : java.util.ArrayList
required-type       : java.util.ArrayList
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /client/securities/security[27]/prices
line number         : 61980
class[1]            : name.abuchen.portfolio.model.Security
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : name.abuchen.portfolio.model.Client
version             : not available
-------------------------------

	at name.abuchen.portfolio.model.ClientFactory$XmlSerialization.load(ClientFactory.java:114)

	at name.abuchen.portfolio.model.ClientFactory$Decryptor.load(ClientFactory.java:272)

	at name.abuchen.portfolio.model.ClientFactory.load(ClientFactory.java:413)

	at name.abuchen.portfolio.ui.editor.LoadClientThread.run(LoadClientThread.java:34)

Caused by: com.thoughtworks.xstream.converters.ConversionException:  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
---- Debugging information ----
message             :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
cause-exception     : com.thoughtworks.xstream.io.StreamException
cause-message       :  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
class               : java.util.ArrayList
required-type       : java.util.ArrayList
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /client/securities/security[27]/prices
line number         : 61980
class[1]            : name.abuchen.portfolio.model.Security
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : name.abuchen.portfolio.model.Client
version             : not available
-------------------------------

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)

	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:480)

	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:412)

	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:263)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:98)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:91)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:85)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)

	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:480)

	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:412)

	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:263)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)

	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1206)

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1190)

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1061)

	at name.abuchen.portfolio.model.ClientFactory$XmlSerialization.load(ClientFactory.java:102)

	... 3 more

Caused by: com.thoughtworks.xstream.io.StreamException:  : javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.

	at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:126)

	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148)

	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:135)

	at com.thoughtworks.xstream.io.xml.AbstractPullReader.hasMoreChildren(AbstractPullReader.java:87)

	at com.thoughtworks.xstream.io.ReaderWrapper.hasMoreChildren(ReaderWrapper.java:32)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:89)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:85)

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)

	... 33 more

Caused by: java.io.IOException: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.

	at java.base/javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:148)

	at java.base/javax.crypto.CipherInputStream.read(CipherInputStream.java:261)

	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132)

	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:182)

	at java.base/java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:242)

	at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)

	at java.base/java.util.zip.ZipInputStream.read(ZipInputStream.java:196)

	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)

	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)

	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)

	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)

	at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2992)

	at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)

	at org.xmlpull.mxp1.MXParser.parseStartTag(MXParser.java:1786)

	at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1127)

	at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)

	at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109)

	... 41 more

Caused by: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.

	at java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:977)

	at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1058)

	at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:943)

	at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:491)

	at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2152)

	at java.base/javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:145)

	... 57 more