Problema al generar DAG para Epoch 1 con geth

Estoy ejecutando geth en una red privada de ethereum. He cambiado CalcDifficulty() en block_validator.go para que siempre devuelva return big.NewInt(0x100)... para tener una dificultad constante.

La minería comienza bien... el problema comienza a ocurrir cuando la minería comienza para la época 1, es decir, después de que se generan 30000 bloques, recibo la siguiente excepción de tiempo de ejecución:

I1228 05:42:57.026535 miner/worker.go:362] 🔨  Mined stale block (#29998 / 4356a658).
I1228 05:42:57.029435 miner/worker.go:362] 🔨  Mined block (#29999 / 95be9c6e). Wait 5 blocks for confirmation
I1228 05:42:57.029678 miner/worker.go:362] 🔨  Mined stale block (#29999 / 5f6a0b48).
I1228 05:42:57.029823 miner/worker.go:570] commit new work on block 30000 with 0 txs & 0 uncles. Took 335.912µs
I1228 05:42:57.029868 vendor/github.com/ethereum/ethash/ethash.go:259] Generating DAG for epoch 1 (size 1082130304) (290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563)
I1228 05:42:57.029885 vendor/github.com/ethereum/ethash/ethash.go:259] Generating DAG for epoch 0 (size 1073739904) (0000000000000000000000000000000000000000000000000000000000000000)
I1228 05:42:57.029908 vendor/github.com/ethereum/ethash/ethash.go:259] Generating DAG for epoch 1 (size 1082130304) (290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563)
I1228 05:42:58.112724 vendor/github.com/ethereum/ethash/ethash.go:291] Generating DAG: 0%
I1228 05:42:58.415948 vendor/github.com/ethereum/ethash/ethash.go:276] Done generating DAG for epoch 0, it took 1.386053157s
fatal error: unexpected signal during runtime execution
[signal 0x7 code=0x2 addr=0x7f210f9af9c8 pc=0xd21c3a]
runtime stack:
runtime.throw(0x12b9d80, 0x2a)
        /usr/lib/go-1.6/src/runtime/panic.go:547 +0x90
runtime.sigpanic()
        /usr/lib/go-1.6/src/runtime/sigpanic_unix.go:12 +0x5a

y los siguientes son el archivo que se crea en el directorio .ethash

 ubuntu@ip-172-31-29-183:~/.ethash$ ls -hlrt
 total 1.1G
 -rw-rw-r-- 1 ubuntu ubuntu 1.0G Dec 27 21:14 full-R23-0000000000000000
 -rw-rw-r-- 1 ubuntu ubuntu 1.1G Dec 28 07:47 full-R23-290decd9548b62a8

 ubuntu@ip-172-31-29-183:~/.ethash$ 

Qué está mal ? Consejo amable

¿Cuál es la especificación de su sistema? ¿Está ejecutando de forma nativa o dentro de una VM/contenedor? Sospecho que te falta memoria o espacio en disco...
No, no lo estoy ejecutando dentro de un contenedor de VM ... Lo estoy ejecutando en una máquina que tiene un sistema operativo: Ubuntu con 16 gb de RAM y mucho espacio en disco suficiente. Además, no veo ningún problema con las especificaciones del sistema, ya que la minería estaba funcionando bien cuando no había cambiado el código para tener dificultad estática... sin ningún cambio, pude llegar a la época 4.
@RichardHorrocks Pude resolver el problema al ejecutar geth makedag 30000 ~/.ethashy dejar que se completara la generación de dag ... luego pude continuar con la extracción. ¿Puede dar alguna razón detrás de esto?
Mmmm interesante. Hay un error abierto que informa un problema similar al tuyo. Parece que han hecho la misma modificación que tú. (No eres tú, ¿verdad?) ¿Puedes confirmar que has hecho la modificación de la misma manera? github.com/ethereum/go-ethereum/issues/3056
@RichardHorrocks Sí, hice la modificación de la misma manera. El reportero del tema no soy yo.

Respuestas (1)

Parece que hay un error abierto relacionado con el problema-problema-3056

La solución actual que funciona para mí, ejecuto el siguiente comando antes de volver a minar

geth makedag <blocknumber> <ethash dir path>

luego comience a minar nuevamente.