hank / litecoin-wallet

A Litecoin wallet for Android
44 stars 73 forks source link

litecoin-wallet crash #18

Closed cupsusp closed 11 years ago

cupsusp commented 11 years ago

java.lang.OutOfMemoryError at java.util.ArrayList.add(ArrayList.java:114) at org.litecoinj.wallet.Protos$Transaction$Builder.addTransactionOutput(Protos.java:5163) at com.google.litecoin.store.WalletProtobufSerializer.writeWallet(WalletProtobufSerializer.java:97) at com.google.litecoin.core.Wallet.saveToFile(Wallet.java:386) at com.google.litecoin.core.Wallet.autoSave(Wallet.java:587) at com.google.litecoin.core.Wallet.access$400(Wallet.java:81) at com.google.litecoin.core.Wallet$AutosaveThread.run(Wallet.java:516)

have over 110 transactions, crash always what's going on?

hank commented 11 years ago

There's some problem with having a lot of transactions. I'll work on it as soon as I can. On Jul 3, 2013 3:19 AM, "cupsusp" notifications@github.com wrote:

java.lang.OutOfMemoryError at java.util.ArrayList.add(ArrayList.java:114) at org.litecoinj.wallet.Protos$Transaction$Builder.addTransactionOutput(Protos.java:5163) at com.google.litecoin.store.WalletProtobufSerializer.writeWallet(WalletProtobufSerializer.java:97) at com.google.litecoin.core.Wallet.saveToFile(Wallet.java:386) at com.google.litecoin.core.Wallet.autoSave(Wallet.java:587) at com.google.litecoin.core.Wallet.access$400(Wallet.java:81) at com.google.litecoin.core.Wallet$AutosaveThread.run(Wallet.java:516)

have over 110 transactions, crash always what's going on?

— Reply to this email directly or view it on GitHubhttps://github.com/hank/litecoin-wallet/issues/18 .

hank commented 11 years ago

Out of curiosity, are you receiving any mining output transactions directly to the wallet? Any transactions with lots and lots of outputs could trigger this bug. I looked through the code, and it is throwing this error when building the list of outputs in a single transaction. If you could go through a block explorer and find any exceptionally large transactions that include an output to your wallet address, that could help. If there are none, I'm not sure what's going on. I'm going to try and prevent in-memory copying and resizing by initializing the array to 200 elements automatically. Would it be possible for you to put your phone in developer mode and load a new version of the app I can send as an APK? You could use adb to install it after backing up your wallet.

On Wed, Jul 3, 2013 at 9:15 AM, Erik Gregg hardware.hank@gmail.com wrote:

There's some problem with having a lot of transactions. I'll work on it as soon as I can. On Jul 3, 2013 3:19 AM, "cupsusp" notifications@github.com wrote:

java.lang.OutOfMemoryError at java.util.ArrayList.add(ArrayList.java:114) at org.litecoinj.wallet.Protos$Transaction$Builder.addTransactionOutput(Protos.java:5163) at com.google.litecoin.store.WalletProtobufSerializer.writeWallet(WalletProtobufSerializer.java:97) at com.google.litecoin.core.Wallet.saveToFile(Wallet.java:386) at com.google.litecoin.core.Wallet.autoSave(Wallet.java:587) at com.google.litecoin.core.Wallet.access$400(Wallet.java:81) at com.google.litecoin.core.Wallet$AutosaveThread.run(Wallet.java:516)

have over 110 transactions, crash always what's going on?

— Reply to this email directly or view it on GitHubhttps://github.com/hank/litecoin-wallet/issues/18 .

cupsusp commented 11 years ago

yes, i receive p2pool output transactions directly to the wallet, these transactions include lots of outputs. i can install new apk in usb mode and retest this issue, thx a lot.

PS. i found backuped privkey begin with ‘K', but litecoin privkey should begin with 'T' ???

2013/7/4 hank notifications@github.com

Out of curiosity, are you receiving any mining output transactions directly to the wallet? Any transactions with lots and lots of outputs could trigger this bug. I looked through the code, and it is throwing this error when building the list of outputs in a single transaction. If you could go through a block explorer and find any exceptionally large transactions that include an output to your wallet address, that could help. If there are none, I'm not sure what's going on. I'm going to try and prevent in-memory copying and resizing by initializing the array to 200 elements automatically. Would it be possible for you to put your phone in developer mode and load a new version of the app I can send as an APK? You could use adb to install it after backing up your wallet.

On Wed, Jul 3, 2013 at 9:15 AM, Erik Gregg hardware.hank@gmail.com wrote:

There's some problem with having a lot of transactions. I'll work on it as soon as I can. On Jul 3, 2013 3:19 AM, "cupsusp" notifications@github.com wrote:

java.lang.OutOfMemoryError at java.util.ArrayList.add(ArrayList.java:114) at

org.litecoinj.wallet.Protos$Transaction$Builder.addTransactionOutput(Protos.java:5163)

at

com.google.litecoin.store.WalletProtobufSerializer.writeWallet(WalletProtobufSerializer.java:97)

at com.google.litecoin.core.Wallet.saveToFile(Wallet.java:386) at com.google.litecoin.core.Wallet.autoSave(Wallet.java:587) at com.google.litecoin.core.Wallet.access$400(Wallet.java:81) at com.google.litecoin.core.Wallet$AutosaveThread.run(Wallet.java:516)

have over 110 transactions, crash always what's going on?

— Reply to this email directly or view it on GitHub< https://github.com/hank/litecoin-wallet/issues/18> .

— Reply to this email directly or view it on GitHubhttps://github.com/hank/litecoin-wallet/issues/18#issuecomment-20458048 .

hank commented 11 years ago

Yeah the code that serializes the private keys when they're exported isn't done yet, but the backups DO re-import into the app properly. This is a known issue, and I believe the problem is in litecoinj. I plan to work on it this weekend. p2pool could definitely be triggering the bug for you since there's so many outputs - your little phone has to process all that! I'd recommend using the app for day-to-day litecoin usage, not for receiving p2pool transactions - it's not meant to handle that. If you receive p2pool on your desktop client and fill your phone with LTC periodically, it should work well.

Thanks for your patience!

On Sat, Jul 6, 2013 at 3:39 AM, cupsusp notifications@github.com wrote:

yes, i receive p2pool output transactions directly to the wallet, these transactions include lots of outputs. i can install new apk in usb mode and retest this issue, thx a lot.

PS. i found backuped privkey begin with ‘K', but litecoin privkey should begin with 'T' ???

2013/7/4 hank notifications@github.com

Out of curiosity, are you receiving any mining output transactions directly to the wallet? Any transactions with lots and lots of outputs could trigger this bug. I looked through the code, and it is throwing this error when building the list of outputs in a single transaction. If you could go through a block explorer and find any exceptionally large transactions that include an output to your wallet address, that could help. If there are none, I'm not sure what's going on. I'm going to try and prevent in-memory copying and resizing by initializing the array to 200 elements automatically. Would it be possible for you to put your phone in developer mode and load a new version of the app I can send as an APK? You could use adb to install it after backing up your wallet.

On Wed, Jul 3, 2013 at 9:15 AM, Erik Gregg hardware.hank@gmail.com wrote:

There's some problem with having a lot of transactions. I'll work on it as soon as I can. On Jul 3, 2013 3:19 AM, "cupsusp" notifications@github.com wrote:

java.lang.OutOfMemoryError at java.util.ArrayList.add(ArrayList.java:114) at

org.litecoinj.wallet.Protos$Transaction$Builder.addTransactionOutput(Protos.java:5163)

at

com.google.litecoin.store.WalletProtobufSerializer.writeWallet(WalletProtobufSerializer.java:97)

at com.google.litecoin.core.Wallet.saveToFile(Wallet.java:386) at com.google.litecoin.core.Wallet.autoSave(Wallet.java:587) at com.google.litecoin.core.Wallet.access$400(Wallet.java:81) at com.google.litecoin.core.Wallet$AutosaveThread.run(Wallet.java:516)

have over 110 transactions, crash always what's going on?

— Reply to this email directly or view it on GitHub< https://github.com/hank/litecoin-wallet/issues/18> .

— Reply to this email directly or view it on GitHub< https://github.com/hank/litecoin-wallet/issues/18#issuecomment-20458048> .

— Reply to this email directly or view it on GitHubhttps://github.com/hank/litecoin-wallet/issues/18#issuecomment-20550619 .

hank commented 11 years ago

Closing this as p2pool payments are currently not supported. Please do not receive them with the app. Thanks.