KarmaHostage / ethcrack

Password recovery tool for ethereum wallets
6 stars 6 forks source link

java.lang.OutOfMemoryError: Java heap space - Java Version 8U21 #1

Open Romerus opened 7 years ago

Romerus commented 7 years ago

C:\Program Files (x86)\Java\jre1.8.0_121\bin>java.exe -Xmx1024M -jar "C:\Users\USERNAME\Documents\ethcrack-1.0.0\ethcrack.jar" -w C:\Users\USERNAME\Documents\ethcrack-1.0.0\ETH_WALLET.json -f C:\Users\USERNAMEDocuments\ethcrack-1.0.0\wordlist.txt using different wallet file C:\Users\USERNAME\Documents\ethcrack-1.0.0\ETH_WALLET.json using different wordlist file C:\Users\USERNAME\Documents\ethcrack-1.0.0\wordlist.txt going to try recovering with the wordlist Exception in thread "pool-1-thread-8" Exception in thread "pool-1-thread-2" Exception in thread "pool-1-thread-10" Exception in thread "pool-1-thread-3" Exception in thread "pool-1-thread-7" Exception in thread "pool-1-thread-12" Exception in thread "pool-1-thread-1" Exception in thread "pool-1-thread-5" Exception in thread "pool-1-thread-6" java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space at com.lambdaworks.crypto.SCrypt.scryptJ(SCrypt.java:93) at com.lambdaworks.crypto.SCrypt.scrypt(SCrypt.java:48) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.getKdfKey(V3KeyDecrypter.java:51) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.isCorrectKey(V3KeyDecrypter.java:27) at com.karmahostage.ethcrack.ThreadedDecryption.run(ThreadedDecryption.java:21) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) java.lang.OutOfMemoryError: Java heap space at com.lambdaworks.crypto.SCrypt.scryptJ(SCrypt.java:93) at com.lambdaworks.crypto.SCrypt.scrypt(SCrypt.java:48) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.getKdfKey(V3KeyDecrypter.java:51) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.isCorrectKey(V3KeyDecrypter.java:27) at com.karmahostage.ethcrack.ThreadedDecryption.run(ThreadedDecryption.java:21) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) java.lang.OutOfMemoryError: Java heap space at com.lambdaworks.crypto.SCrypt.scryptJ(SCrypt.java:93) at com.lambdaworks.crypto.SCrypt.scrypt(SCrypt.java:48) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.getKdfKey(V3KeyDecrypter.java:51) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.isCorrectKey(V3KeyDecrypter.java:27) at com.karmahostage.ethcrack.ThreadedDecryption.run(ThreadedDecryption.java:21) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space at com.lambdaworks.crypto.SCrypt.scryptJ(SCrypt.java:93) at com.lambdaworks.crypto.SCrypt.scrypt(SCrypt.java:48) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.getKdfKey(V3KeyDecrypter.java:51) at com.karmahostage.ethcrack.decryption.internal.V3KeyDecrypter.isCorrectKey(V3KeyDecrypter.java:27) at com.karmahostage.ethcrack.ThreadedDecryption.run(ThreadedDecryption.java:21) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Password1 Password2 Password3

sagreta86 commented 7 years ago

This needs to be fixed. The file is not recognizing the number of cores and the number of threads that are possible. If you change the command interpreter, it works just fine.

public CommandInterpreter() {
    int cores = Runtime.getRuntime().availableProcessors();
    System.out.println("Number of cores present: " + cores);
    System.out.println("Using number of threads: " + cores/2);
    this.executorService = Executors.newFixedThreadPool(cores/2);
}