rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 21, 2015, 09:54:12 PM |
|
I uploaded all changes on github -namecoinj. Is there a way to get the android build up to date on my s3 mini without rooting?
Install the apk. How have you been testing it? I just run it on my phone but the wallet stops syncing somewhere. At first it crashes at block 10k then it loads some more until it stops completely at some block (11964). Always producing ouOfMemoryError s. I will test installing the apk tomorrow see you then... It is possible that your phone simply doesn't have enough RAM and thus can't run the app. Of course but the namecoin-wallet installes correctly..
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 21, 2015, 10:21:16 PM |
|
Could you try uninstalling the app completely and then reinstalling it? (It's possible you were just installing the new test versions as upgrades over the current app, meaning data isn't cleared).
10K is a spot where the wallet would write back some data to storage.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 22, 2015, 02:06:38 AM |
|
Could you try uninstalling the app completely and then reinstalling it? (It's possible you were just installing the new test versions as upgrades over the current app, meaning data isn't cleared).
10K is a spot where the wallet would write back some data to storage.
Did it, still crashing.. is there more data that needsto be deleted?
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 22, 2015, 12:22:53 PM |
|
Could you try uninstalling the app completely and then reinstalling it? (It's possible you were just installing the new test versions as upgrades over the current app, meaning data isn't cleared).
10K is a spot where the wallet would write back some data to storage.
Did it, still crashing.. is there more data that needsto be deleted? Yes, the application's whole data directory. If you pull up app info on it there should be options to clear cache and clear data.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 23, 2015, 02:52:55 PM |
|
Could you try uninstalling the app completely and then reinstalling it? (It's possible you were just installing the new test versions as upgrades over the current app, meaning data isn't cleared).
10K is a spot where the wallet would write back some data to storage.
Did it, still crashing.. is there more data that needsto be deleted? Yes, the application's whole data directory. If you pull up app info on it there should be options to clear cache and clear data. Hi i tried to install the apk on a friends s3 mini than never saw a wallet before and i got the same error so a clean install is not enough -pointing to a memory issue.. java.lang.outOfMemoryError BitcoinSerializer.java deserializePayload
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 23, 2015, 03:05:35 PM |
|
That's funny. Could you try knightdk's APK?
I'm still trying to figure out the android builder. Maven is having trouble resolving perfectly OK artifacts, even after clearing my repository cache.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 23, 2015, 08:12:30 PM |
|
That's funny. Could you try knightdk's APK?
I'm still trying to figure out the android builder. Maven is having trouble resolving perfectly OK artifacts, even after clearing my repository cache.
Hi i can not see the apk, where did he put it?
|
Demurrage - the easiest way to a human society.
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3542
Merit: 6886
Just writing some code
|
|
August 23, 2015, 08:13:57 PM |
|
That's funny. Could you try knightdk's APK?
I'm still trying to figure out the android builder. Maven is having trouble resolving perfectly OK artifacts, even after clearing my repository cache.
Hi i can not see the apk, where did he put it? I just used the apk on your website and that worked fine for me. I am currently building my own version and testing that.
|
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3542
Merit: 6886
Just writing some code
|
|
August 23, 2015, 09:33:36 PM |
|
I'm trying to build it but it doesn't work. I tried using maven and through android studio but neither seems to build it. How did you build the app that is on the website?
|
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 23, 2015, 09:40:56 PM |
|
I'm trying to build it but it doesn't work. I tried using maven and through android studio but neither seems to build it. How did you build the app that is on the website?
I'm also having trouble building on my end. The android project structure is reported as non-standard, which I can override, but there are many package name mismatches and other errors.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 24, 2015, 09:25:33 AM |
|
Hi i am building it with maven. I just downloaded it / git clone it and then i compile it. A problem could be with support-v4 and v13 artifacts they are somehow not loading from online repository. I installed them manually again from the local repository by using mvn install:install-file -DgroupId=com.android.support -DartifactId=support-v4 -Dfile=support-v4-19.1.0.jar -Dversion=19.1.0 -Dpackaging=jar -DgeneratePom=true -D After that the libs folder in the wallet has to be moved to src/main/libs and then the namecoinj is compiling with mvn clean install -Dmaven.test.skip=true and the wallet with mvn clean install -DskipTests=true -Dandroid.sdk.path=/path_to_sdk
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 25, 2015, 12:40:34 AM |
|
Hi i am building it with maven. I just downloaded it / git clone it and then i compile it. A problem could be with support-v4 and v13 artifacts they are somehow not loading from online repository. I installed them manually again from the local repository by using mvn install:install-file -DgroupId=com.android.support -DartifactId=support-v4 -Dfile=support-v4-19.1.0.jar -Dversion=19.1.0 -Dpackaging=jar -DgeneratePom=true -D After that the libs folder in the wallet has to be moved to src/main/libs and then the namecoinj is compiling with mvn clean install -Dmaven.test.skip=true and the wallet with mvn clean install -DskipTests=true -Dandroid.sdk.path=/path_to_sdk I got it building and debugging with IDEA after a few changes: Remove support-v4. It conflicted with v13 at the dex stage. Add <failOnNonStandardStructure>false</failOnNonStandardStructure> to BOTH instances of the Android plugin in wallet/pom.xml Build as Android Application (nothing Maven specific) in IDEA. Would you mind updating us on what is left to do, and the state of the bounty?
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 25, 2015, 12:05:30 PM |
|
The Bounty is at 1.2 BTC 400 WLC 10k FRC. What is left to be done: The Wallet crashes at 10k blocks (sometimes at 12k or even more) and is loading extreme slow compared to the original namecoinj wallet. The crashes seem to be dependend on the memory of the device. So somehow the wallet is using very much memory leads to a crash on the most devices. Here are a few of my errormessages (if it helps) === stack trace ===
%0A%0Ajava.lang.OutOfMemoryError
%0A%09at java.io.ByteArrayOutputStream.<init>(ByteArrayOutputStream.java:63) %0A%09at org.bitcoinj.core.UnsafeByteArrayOutputStream.<init>(UnsafeByteArrayOutputStream.java:39) %0A%09at org.bitcoinj.core.Message.unsafeBitcoinSerialize(Message.java:361) %0A%09at org.bitcoinj.core.Message.bitcoinSerialize(Message.java:323) %0A%09at org.bitcoinj.core.Transaction.getHash(Transaction.java:259) %0A%09at org.bitcoinj.core.Transaction.getHashAsString(Transaction.java:276) %0A%09at org.bitcoinj.core.Transaction.toString(Transaction.java:666) %0A%09at org.bitcoinj.core.Transaction.toString(Transaction.java:656) %0A%09at org.bitcoinj.core.BlockMergeMinedPayload.parseMergedMineInfo(BlockMergeMinedPayload.java:95) %0A%09at org.bitcoinj.core.BlockMergeMinedPayload.parse(BlockMergeMinedPayload.java:41) %0A%09at org.bitcoinj.core.BlockMergeMinedPayload.<init>(BlockMergeMinedPayload.java:32) %0A%09at org.bitcoinj.core.BlockMergeMined.<init>(BlockMergeMined.java:53) %0A%09at org.bitcoinj.core.Block.parseHeader(Block.java:215) %0A%09at org.bitcoinj.core.Block.parse(Block.java:278) %0A%09at org.bitcoinj.core.Message.<init>(Message.java:171) %0A%09at org.bitcoinj.core.Block.<init>(Block.java:136) %0A%09at org.bitcoinj.core.HeadersMessage.parse(HeadersMessage.java:85) %0A%09at org.bitcoinj.core.Message.<init>(Message.java:117) %0A%09at org.bitcoinj.core.Message.<init>(Message.java:149) %0A%09at org.bitcoinj.core.HeadersMessage.<init>(HeadersMessage.java:42) %0A%09at org.bitcoinj.core.BitcoinSerializer.makeMessage(BitcoinSerializer.java:228) %0A%09at org.bitcoinj.core.BitcoinSerializer.deserializePayload(BitcoinSerializer.java:191) %0A%09at org.bitcoinj.core.PeerSocketHandler.receiveBytes(PeerSocketHandler.java:139) %0A%09at org.bitcoinj.net.ConnectionHandler.handleKey(ConnectionHandler.java:217) %0A%09at org.bitcoinj.net.NioClientManager.handleKey(NioClientManager.java:75) %0A%09at org.bitcoinj.net.NioClientManager.run(NioClientManager.java:111) %0A%09at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60) %0A%09at com.google.common.util.concurrent.Callables$3.run(Callables.java:93) %0A%09at java.lang.Thread.run(Thread.java:856)%0A%0A%0A%0A === stack trace ===
%0A%0Ajava.lang.OutOfMemoryError
%0A%09at org.bitcoinj.core.BitcoinSerializer.deserializePayload(BitcoinSerializer.java:172) %0A%09at org.bitcoinj.core.PeerSocketHandler.receiveBytes(PeerSocketHandler.java:139) %0A%09at org.bitcoinj.net.ConnectionHandler.handleKey(ConnectionHandler.java:217) %0A%09at org.bitcoinj.net.NioClientManager.handleKey(NioClientManager.java:75) %0A%09at org.bitcoinj.net.NioClientManager.run(NioClientManager.java:111) %0A%09at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60) %0A%09at com.google.common.util.concurrent.Callables$3.run(Callables.java:93) %0A%09at java.lang.Thread.run(Thread.java:856)%0A%0A%0A%0A === stack trace ===
java.lang.OutOfMemoryError
at org.bitcoinj.core.Utils.copyOf(Utils.java:457) at org.bitcoinj.core.UnsafeByteArrayOutputStream.toByteArray(UnsafeByteArrayOutputStream.java:117) at org.bitcoinj.core.Message.unsafeBitcoinSerialize(Message.java:387) at org.bitcoinj.core.Message.bitcoinSerialize(Message.java:323) at org.bitcoinj.core.Transaction.getHash(Transaction.java:259) at org.bitcoinj.core.Transaction.getHashAsString(Transaction.java:276) at org.bitcoinj.core.Transaction.toString(Transaction.java:666) at org.bitcoinj.core.Transaction.toString(Transaction.java:656) at org.bitcoinj.core.BlockMergeMinedPayload.parseMergedMineInfo(BlockMergeMinedPayload.java:95) at org.bitcoinj.core.BlockMergeMinedPayload.parse(BlockMergeMinedPayload.java:41) at org.bitcoinj.core.BlockMergeMinedPayload.(BlockMergeMinedPayload.java:32) at org.bitcoinj.core.BlockMergeMined.(BlockMergeMined.java:53) at org.bitcoinj.core.Block.parseHeader(Block.java:215) at org.bitcoinj.core.Block.parse(Block.java:278) at org.bitcoinj.core.Message.(Message.java:171) at org.bitcoinj.core.Block.(Block.java:136) at org.bitcoinj.core.HeadersMessage.parse(HeadersMessage.java:85) at org.bitcoinj.core.Message.(Message.java:117) at org.bitcoinj.core.Message.(Message.java:149) at org.bitcoinj.core.HeadersMessage.(HeadersMessage.java:42) at org.bitcoinj.core.BitcoinSerializer.makeMessage(BitcoinSerializer.java:228) at org.bitcoinj.core.BitcoinSerializer.deserializePayload(BitcoinSerializer.java:191) at org.bitcoinj.core.PeerSocketHandler.receiveBytes(PeerSocketHandler.java:139) at org.bitcoinj.net.ConnectionHandler.handleKey(ConnectionHandler.java:217) at org.bitcoinj.net.NioClientManager.handleKey(NioClientManager.java:75) at org.bitcoinj.net.NioClientManager.run(NioClientManager.java:111) at com.google.common.util.concurrent.AbstractExecutionThreadService$1$2.run(AbstractExecutionThreadService.java:60) at com.google.common.util.concurrent.Callables$3.run(Callables.java:93) at java.lang.Thread.run(Thread.java:856) After the memory-fix there is no reason on my side to keep the bounty from payout. Rik
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 25, 2015, 12:51:19 PM Last edit: August 25, 2015, 01:20:52 PM by hexafraction |
|
I'm going to see if I can get a reasonable heap snapshot and a profiler working to see what's up with the block sync.
Edit: I've taken a few heap dumps around blocks 10K, 11400, and 14000. All of them report heap sizes of no more than 60 MB (44MB at block 10K). I'll upload an APK tonight.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 25, 2015, 01:26:34 PM |
|
I'm going to see if I can get a reasonable heap snapshot and a profiler working to see what's up with the block sync.
Edit: I've taken a few heap dumps around blocks 10K, 11400, and 14000. All of them report heap sizes of no more than 60 MB (44MB at block 10K). I'll upload an APK tonight.
Thanks.. Enlarging the heap size by adding android:largeHeap="true" did not change anything in the behaviour.
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 25, 2015, 06:13:22 PM Last edit: August 25, 2015, 06:29:35 PM by hexafraction |
|
I do see slow block sync after 10K. I'm also investigating that, although my Android abilities are somewhat more limited than my understanding of Java. Would you be able to capture a heap dump and email it to me/upload it somewhere if it is of a reasonable size? (there should be a button called "capture heap dump" or similar to the left of the logcat window in IDEA/Android Studio.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 26, 2015, 11:36:40 AM |
|
I am trying, but to make an app with android studio out of a maven project. On my laptop the main you created is also crashing and at the first run it has produced an otOfMemoryError: Java heap space So maybe i can capture a heap dump.
|
Demurrage - the easiest way to a human society.
|
|
|
hexafraction
Sr. Member
Offline
Activity: 392
Merit: 268
Tips welcomed: 1CF4GhXX1RhCaGzWztgE1YZZUcSpoqTbsJ
|
|
August 26, 2015, 11:45:25 AM |
|
I am trying, but to make an app with android studio out of a maven project. On my laptop the main you created is also crashing and at the first run it has produced an otOfMemoryError: Java heap space So maybe i can capture a heap dump.
It's hard to tell what is going on without a heap dump. Would you mind sending me the apk you have, and trying to run the one that I built? I have a special build process I already use for other android projects used for robotic applications that I used.
|
|
|
|
rik8119 (OP)
Full Member
Offline
Activity: 217
Merit: 100
CEO WINC e. V.
|
|
August 26, 2015, 05:04:03 PM |
|
I am trying, but to make an app with android studio out of a maven project. On my laptop the main you created is also crashing and at the first run it has produced an otOfMemoryError: Java heap space So maybe i can capture a heap dump.
It's hard to tell what is going on without a heap dump. Would you mind sending me the apk you have, and trying to run the one that I built? I have a special build process I already use for other android projects used for robotic applications that I used. Ok i have 3 heap dumps now: - After the block 10k is reached the memory usage goes up from 16 Mb to 50 Mb. I took the first here. - At some point the wallet loads again and the memory is at 50 Mb still. I took the second here (Block ~11400) - When the block 12k is reached i took the 3 heap here. After that the memoryusage reduces to 30 Mb and crashes then without loading further blocks. The heaps are uploaded here: https://drive.google.com/file/d/0Bzt8Hb4nQtyhQ0FxU3kzT0hkbTQ/view?usp=sharing
|
Demurrage - the easiest way to a human society.
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3542
Merit: 6886
Just writing some code
|
|
August 26, 2015, 05:07:36 PM |
|
Ok i have 3 heap dumps now: - After the block 10k is reached the memory usage goes up from 16 Mb to 50 Mb. I took the first here. - At some point the wallet loads again and the memory is at 50 Mb still. I took the second here (Block ~11400) - When the block 12k is reached i took the 3 heap here. After that the memoryusage reduces to 30 Mb and crashes then without loading further blocks. The heaps are uploaded here: https://drive.google.com/file/d/0Bzt8Hb4nQtyhQ0FxU3kzT0hkbTQ/view?usp=sharingThat memory usage is interesting. When I ran it, it used 40 MB initially until 10000 and kept going up to around 300 MB after 10k blocks.
|
|
|
|
|