nanopool / Claymore-Dual-Miner

Claymore's Dual Ethereum+Decred_Siacoin_Lbry AMD+NVIDIA GPU Miner
1.12k stars 277 forks source link

Segfault (null pointer dereference?) on Kubuntu 18.04.1 running AMDGPU-Pro 18.50 driver #287

Closed kennystrawnmusic closed 2 years ago

kennystrawnmusic commented 5 years ago

In a previous installation, before I screwed it up and had to start all over, I was running Claymore under Kubuntu 18.04 and the AMDGPU-Pro 18.30 driver just fine. Now that I have the new system and the only version of the driver I'm able to download is 18.50, I'm running into this problem:

realkstrawn93@realkstrawn93-miner:/opt/claymore-eth$ ./mine.sh

����������������������������������������������������������������ͻ`
�                Claymore's Dual GPU Miner - v11.9               �
�              ETH + DCR/SIA/LBC/PASC/BLAKE2S/KECCAK             �
����������������������������������������������������������������ͼ

ETH: 1 pool is specified`
Main Ethereum pool is eth-us-west1.nanopool.org:9999`
./mine.sh: line 8:  5245 Segmentation fault      (core dumped) ./ethdcrminer64 -epool eth-us-west1.nanopool.org:9999 -ewal [redacted]/realkstrawn93-miner -epsw x -mode 1 -allpools 1 -tt 68 -fanmin 100 -fanmax 100 -r 1`
realkstrawn93@realkstrawn93-miner:/opt/claymore-eth$

Upon further inspection (via gdb), what's causing the segfault appears to be a null pointer dereference ― either in the miner or, most likely given that I'm still using the same installation both before and after this system reinstallation, in one of the OpenCL components of the 18.50 driver itself:

realkstrawn93@realkstrawn93-miner:/opt/claymore-eth$ gdb -exec=$PWD/ethdcrminer64
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) run -epool eth-us-west1.nanopool.org:9999 -ewal [redacted]/realkstrawn93-miner -epsw x -mode 1 -allpools 1 -tt 68 -fanmin 100 -fanmax 100 -r 1
Starting program: /opt/claymore-eth/ethdcrminer64 -epool eth-us-west1.nanopool.org:9999 -ewal [redacted]/realkstrawn93-miner -epsw x -mode 1 -allpools 1 -tt 68 -fanmin 100 -fanmax 100 -r 1

����������������������������������������������������������������ͻ
�                Claymore's Dual GPU Miner - v11.9               �
�              ETH + DCR/SIA/LBC/PASC/BLAKE2S/KECCAK             �
����������������������������������������������������������������ͼ

ETH: 1 pool is specified
Main Ethereum pool is eth-us-west1.nanopool.org:9999
[New LWP 5191]
[New LWP 5192]

Thread 1 "ethdcrminer64" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb)

As you can see, something in there, either in Claymore or in one of the dependencies (again, system level dependencies most likely given that it's the same version), is trying to access memory at 0x0000000000000000 ― the address of a null pointer. If this is within the control of Claymore developers, then great, it's an easy fix. If not, and if it's a driver issue, then how can this information be forwarded over to AMD for them to take a look at it?

th0ma7 commented 5 years ago

Just faced the same issue, not with claymore specifically but rather with amdgpu 18.50 drivers. 18.40 worked all right but launching clinfo after 18.50 upgrade creates a segmentation fault. Any work around from your end on this?

sstativa commented 5 years ago

I had the same problem with 18.50 in Ubuntu 18.04 and I managed to solve it in some way. However, it was before Christmas and I don't remember details.

There is only one command left in my notes, I believe it was a part of the solution. Try to install the driver according to the official guide then install this manually

sudo dpkg -i amdgpu-core_18.50-708488_all.deb \
  libdrm2-amdgpu_2.4.95-708488_amd64.deb \
  libdrm-amdgpu-common_1.0.0-708488_all.deb \
  libdrm-amdgpu-amdgpu1_2.4.95-708488_amd64.deb \
  libdrm-amdgpu-dev_2.4.95-708488_amd64.deb \
  libdrm-amdgpu-radeon1_2.4.95-708488_amd64.deb