10gic / vanitygen-plusplus

A vanity address generator for BTC, ETH, LTC, TRX and 100+ more crypto currencies.
GNU Affero General Public License v3.0
254 stars 90 forks source link

Segmentation fault (OpenCL version) #6

Closed Calimanov115 closed 3 years ago

Calimanov115 commented 3 years ago

Hello! I tried to build your program on Debian 10 and Manjaro 20.2 with Nvidia GPU and if i used default cpu based version of vanitygen-plusplus it's worked but when i want to use OpenCL version it just said me "Segmentation fault" on both OS after Compiling kernel process.

Calimanov115 commented 3 years ago

Segfault stacktrace:

> Thread 9 "oclvanitygen++" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe1ffb700 (LWP 9640)]
0x00007ffff7d2b9e1 in BN_num_bits ()
   from /lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb) bt
#0  0x00007ffff7d2b9e1 in BN_num_bits ()
   from /lib/x86_64-linux-gnu/libcrypto.so.1.1
#1  0x00007ffff7d2c33d in ?? () from /lib/x86_64-linux-gnu/libcrypto.so.1.1
#2  0x000055555555d88c in vg_ocl_put_bignum_raw (bn=<optimized out>, 
    buf=0x7fffe1ffae80 "") at oclengine.c:1424
#3  vg_ocl_put_point (ppnt=0x7fffc400eb30, buf=0x7fffe1ffae80 "")
    at oclengine.c:1424
#4  vg_ocl_put_point_tpa (ppnt=0x7fffc400eb30, cell=0, buf=0x7fffe5800600 "")
    at oclengine.c:1434
#5  vg_opencl_loop (arg=0x5555555a1a90) at oclengine.c:2169
#6  0x00007ffff7abffa3 in start_thread (arg=<optimized out>)
    at pthread_create.c:486
#7  0x00007ffff79e34cf in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

I dont know how to fix this, hope you'll help :)

10gic commented 3 years ago

What's the arguments that you have specified?

Calimanov115 commented 3 years ago

I tried using arguments from the README file of this repository. The program is executed if no arguments are specified (only outputs instructions on how to use the program). But if you try to start generate private keys, an error will occur. For example, this happens even with such a simple command - ./oclvanitygen++ 1Love However, ./vanitygen++ 1Love works. image

TippyTurtle commented 3 years ago

Same. Any help would be greatly appreciated.

Github "profanity" works great with GPU and ethminer GPU works great, but...

cat /proc/version

Linux version 5.8.0-44-generic (buildd@lgw01-amd64-039) (gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0, GNU ld (GNU Binutils for Ubuntu) 2.35.1) #50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021

(using "sudo ./oclvanitygen++ -v 1Love" has the exact same output.) ./oclvanitygen++ -v 1Love

Prefix difficulty:              4476342 1Love
Difficulty: 4476342
Device: GeForce GTX 1060 with Max-Q Design
Vendor: NVIDIA Corporation (10de)
Driver: 460.39
Profile: FULL_PROFILE
Version: OpenCL 1.2 CUDA
Max compute units: 10
Max workgroup size: 1024
Global memory: 6373572608
Max allocation: 1593393152
OpenCL compiler flags: -DPRAGMA_UNROLL -cl-nv-verbose 
Loading kernel binary cdb943404d77e7e7929431843832efad.oclbin
Grid size: 2560x4096
Modular inverse: 10240 threads, 1024 ops each
Available OpenCL platforms:
0: [NVIDIA Corporation] NVIDIA CUDA
  0: [NVIDIA Corporation] GeForce GTX 1060 with Max-Q Design, endian little: true
Using OpenCL prefix matcher
Segmentation fault

sudo ./oclvanitygen++ -v -C ETH -k -o EthAddresses2.txt 0xDeadBeef

Generating ETH Address
Prefix difficulty:           4294967296 0xDeadBeef
Difficulty: 4294967296
Device: GeForce GTX 1060 with Max-Q Design
Vendor: NVIDIA Corporation (10de)
Driver: 460.39
Profile: FULL_PROFILE
Version: OpenCL 1.2 CUDA
Max compute units: 10
Max workgroup size: 1024
Global memory: 6373572608
Max allocation: 1593393152
OpenCL compiler flags: -DPRAGMA_UNROLL -DADDR_TYPE_ETH -cl-nv-verbose 
Compiling kernel, can take minutes...done!
Build log:

Grid size: 2560x4096
Modular inverse: 10240 threads, 1024 ops each
Available OpenCL platforms:
0: [NVIDIA Corporation] NVIDIA CUDA
  0: [NVIDIA Corporation] GeForce GTX 1060 with Max-Q Design, endian little: true
Using OpenCL prefix matcher
Segmentation fault

And on a different machine... Ethminer can't work on mainnet because DAG is > 4096gb...profanity works great...

cat /proc/version

Linux version 5.4.0-65-generic (buildd@lcy01-amd64-018) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021

./oclvanitygen++ 1Love

Difficulty: 4476342
Compiling kernel, can take minutes...failure.
clBuildProgram: CL_BUILD_PROGRAM_FAILURE
Build log:
stringInput.cl:1507:9: warning: 'hash_ec_point_inner_3' macro redefined
stringInput.cl:1388:9: note: previous definition is here
stringInput.cl:1522:9: warning: 'hash_ec_point_inner_5' macro redefined
stringInput.cl:1406:11: note: previous definition is here
stringInput.cl:1526:14: warning: incompatible pointer types passing 'uint [16]' to parameter of type 'uchar *' (aka 'unsigned char *')
stringInput.cl:1120:23: note: passing argument to parameter 'out' here
stringInput.cl:1526:21: warning: incompatible pointer types passing 'uint [16]' to parameter of type 'const uchar *' (aka 'const unsigned char *')
stringInput.cl:1120:42: note: passing argument to parameter 'in' here
stringInput.cl:1564:12: warning: incompatible pointer types passing 'uint [16]' to parameter of type 'uchar *' (aka 'unsigned char *')
stringInput.cl:1120:23: note: passing argument to parameter 'out' here
hash_ec_point_get:(GBE): error: failed in Gen backend.
Device: Intel(R) HD Graphics Haswell GT2 Desktop
Vendor: Intel (8086)
Driver: 1.3
Profile: FULL_PROFILE
Version: OpenCL 1.2 beignet 1.3
Max compute units: 8074745383579811860
Max workgroup size: 512
Global memory: 2147483648
Max allocation: 1610612736
Could not open any device
Available OpenCL platforms:
0: [Intel] Intel Gen OCL Driver
  0: [Intel] Intel(R) HD Graphics Haswell GT2 Desktop, endian little: true

./oclvanitygen++ -v -C ETH -k -o EthAddresses2.txt 0xDeadBeef

Generating ETH Address
Read 32 bytes from RNG seed file
Prefix difficulty:           4294967296 0xDeadBeef
Difficulty: 4294967296
Device: Intel(R) HD Graphics Haswell GT2 Desktop
Vendor: Intel (8086)
Driver: 1.3
Profile: FULL_PROFILE
Version: OpenCL 1.2 beignet 1.3
Max compute units: 20
Max workgroup size: 512
Global memory: 2147483648
Max allocation: 1610612736
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DADDR_TYPE_ETH 
Loading kernel binary 84cad42e157f9f3572016a95705db941.oclbin
Grid size: 2560x2048
Modular inverse: 10240 threads, 512 ops each
Available OpenCL platforms:
0: [Intel] Intel Gen OCL Driver
  0: [Intel] Intel(R) HD Graphics Haswell GT2 Desktop, endian little: true
Using OpenCL prefix matcher
Segmentation fault

Thanks in Advance.

10gic commented 3 years ago

Segfault stacktrace:

> Thread 9 "oclvanitygen++" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe1ffb700 (LWP 9640)]
0x00007ffff7d2b9e1 in BN_num_bits ()
   from /lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb) bt
#0  0x00007ffff7d2b9e1 in BN_num_bits ()
   from /lib/x86_64-linux-gnu/libcrypto.so.1.1
#1  0x00007ffff7d2c33d in ?? () from /lib/x86_64-linux-gnu/libcrypto.so.1.1
#2  0x000055555555d88c in vg_ocl_put_bignum_raw (bn=<optimized out>, 
    buf=0x7fffe1ffae80 "") at oclengine.c:1424
#3  vg_ocl_put_point (ppnt=0x7fffc400eb30, buf=0x7fffe1ffae80 "")
    at oclengine.c:1424
#4  vg_ocl_put_point_tpa (ppnt=0x7fffc400eb30, cell=0, buf=0x7fffe5800600 "")
    at oclengine.c:1434
#5  vg_opencl_loop (arg=0x5555555a1a90) at oclengine.c:2169
#6  0x00007ffff7abffa3 in start_thread (arg=<optimized out>)
    at pthread_create.c:486
#7  0x00007ffff79e34cf in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

I dont know how to fix this, hope you'll help :)

Recently, I fix a crash issue. May be the same issue you met here.

Suggest you try the latest code.

10gic commented 3 years ago

Same. Any help would be greatly appreciated.

Github "profanity" works great with GPU and ethminer GPU works great, but...

cat /proc/version

Linux version 5.8.0-44-generic (buildd@lgw01-amd64-039) (gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0, GNU ld (GNU Binutils for Ubuntu) 2.35.1) #50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021

(using "sudo ./oclvanitygen++ -v 1Love" has the exact same output.) ./oclvanitygen++ -v 1Love

Prefix difficulty:              4476342 1Love
Difficulty: 4476342
Device: GeForce GTX 1060 with Max-Q Design
Vendor: NVIDIA Corporation (10de)
Driver: 460.39
Profile: FULL_PROFILE
Version: OpenCL 1.2 CUDA
Max compute units: 10
Max workgroup size: 1024
Global memory: 6373572608
Max allocation: 1593393152
OpenCL compiler flags: -DPRAGMA_UNROLL -cl-nv-verbose 
Loading kernel binary cdb943404d77e7e7929431843832efad.oclbin
Grid size: 2560x4096
Modular inverse: 10240 threads, 1024 ops each
Available OpenCL platforms:
0: [NVIDIA Corporation] NVIDIA CUDA
  0: [NVIDIA Corporation] GeForce GTX 1060 with Max-Q Design, endian little: true
Using OpenCL prefix matcher
Segmentation fault

sudo ./oclvanitygen++ -v -C ETH -k -o EthAddresses2.txt 0xDeadBeef

Generating ETH Address
Prefix difficulty:           4294967296 0xDeadBeef
Difficulty: 4294967296
Device: GeForce GTX 1060 with Max-Q Design
Vendor: NVIDIA Corporation (10de)
Driver: 460.39
Profile: FULL_PROFILE
Version: OpenCL 1.2 CUDA
Max compute units: 10
Max workgroup size: 1024
Global memory: 6373572608
Max allocation: 1593393152
OpenCL compiler flags: -DPRAGMA_UNROLL -DADDR_TYPE_ETH -cl-nv-verbose 
Compiling kernel, can take minutes...done!
Build log:

Grid size: 2560x4096
Modular inverse: 10240 threads, 1024 ops each
Available OpenCL platforms:
0: [NVIDIA Corporation] NVIDIA CUDA
  0: [NVIDIA Corporation] GeForce GTX 1060 with Max-Q Design, endian little: true
Using OpenCL prefix matcher
Segmentation fault

And on a different machine... Ethminer can't work on mainnet because DAG is > 4096gb...profanity works great...

cat /proc/version

Linux version 5.4.0-65-generic (buildd@lcy01-amd64-018) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021

./oclvanitygen++ 1Love

Difficulty: 4476342
Compiling kernel, can take minutes...failure.
clBuildProgram: CL_BUILD_PROGRAM_FAILURE
Build log:
stringInput.cl:1507:9: warning: 'hash_ec_point_inner_3' macro redefined
stringInput.cl:1388:9: note: previous definition is here
stringInput.cl:1522:9: warning: 'hash_ec_point_inner_5' macro redefined
stringInput.cl:1406:11: note: previous definition is here
stringInput.cl:1526:14: warning: incompatible pointer types passing 'uint [16]' to parameter of type 'uchar *' (aka 'unsigned char *')
stringInput.cl:1120:23: note: passing argument to parameter 'out' here
stringInput.cl:1526:21: warning: incompatible pointer types passing 'uint [16]' to parameter of type 'const uchar *' (aka 'const unsigned char *')
stringInput.cl:1120:42: note: passing argument to parameter 'in' here
stringInput.cl:1564:12: warning: incompatible pointer types passing 'uint [16]' to parameter of type 'uchar *' (aka 'unsigned char *')
stringInput.cl:1120:23: note: passing argument to parameter 'out' here
hash_ec_point_get:(GBE): error: failed in Gen backend.
Device: Intel(R) HD Graphics Haswell GT2 Desktop
Vendor: Intel (8086)
Driver: 1.3
Profile: FULL_PROFILE
Version: OpenCL 1.2 beignet 1.3
Max compute units: 8074745383579811860
Max workgroup size: 512
Global memory: 2147483648
Max allocation: 1610612736
Could not open any device
Available OpenCL platforms:
0: [Intel] Intel Gen OCL Driver
  0: [Intel] Intel(R) HD Graphics Haswell GT2 Desktop, endian little: true

./oclvanitygen++ -v -C ETH -k -o EthAddresses2.txt 0xDeadBeef

Generating ETH Address
Read 32 bytes from RNG seed file
Prefix difficulty:           4294967296 0xDeadBeef
Difficulty: 4294967296
Device: Intel(R) HD Graphics Haswell GT2 Desktop
Vendor: Intel (8086)
Driver: 1.3
Profile: FULL_PROFILE
Version: OpenCL 1.2 beignet 1.3
Max compute units: 20
Max workgroup size: 512
Global memory: 2147483648
Max allocation: 1610612736
OpenCL compiler flags: -DDEEP_PREPROC_UNROLL -DADDR_TYPE_ETH 
Loading kernel binary 84cad42e157f9f3572016a95705db941.oclbin
Grid size: 2560x2048
Modular inverse: 10240 threads, 512 ops each
Available OpenCL platforms:
0: [Intel] Intel Gen OCL Driver
  0: [Intel] Intel(R) HD Graphics Haswell GT2 Desktop, endian little: true
Using OpenCL prefix matcher
Segmentation fault

Thanks in Advance.

Recently, I fix a crash issue. May be the same issue you met here.

Suggest you try the latest code.