JayDDee / cpuminer-opt

Optimized multi algo CPU miner
Other
774 stars 543 forks source link

Ubuntu 16.04 got segment fault. #14

Closed Akagi201 closed 7 years ago

Akagi201 commented 7 years ago
cpuminer-opt git/master*  13s
❯ ./cpuminer -a lyra2z -o stratum+tcp://xzc-cn.suprnova.cc:1598 -u myuser.myworker -p mypasswd

         **********  cpuminer-opt 3.6.5  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
     Forked from TPruvot's cpuminer-multi with credits
     to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d,
     Wolf0, Jeff Garzik and Optiminer.

CPU: Intel Xeon E312xx (Sandy Bridge)
CPU features: SSE2 AES AVX
SW built on Jun 17 2017 with GCC 5.4.0
SW features: SSE2 AES AVX
Algo features: SSE2 AES AVX AVX2
Start mining with SSE2 AES AVX

[2017-06-17 21:42:55] Starting Stratum on stratum+tcp://xzc-cn.suprnova.cc:1598
[1]    7008 segmentation fault (core dumped)  ./cpuminer -a lyra2z -o stratum+tcp://xzc-cn.suprnova.cc:1598 -u myuser.myworker

gdb coredump file

cpuminer-opt git/master*
❯ gdb cpuminer /tmp/core-cpuminer-5650-upm22-1497706771                               ubuntu@upm22
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 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"...
Reading symbols from cpuminer...(no debugging symbols found)...done.
[New LWP 5652]
[New LWP 5650]
[New LWP 5651]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./cpuminer -a lyra2z -o stratum+tcp://xzc-cn.suprnova.cc:1598 -u Akagi201.ak01'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f76c1c7ba30 in ?? () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
[Current thread is 1 (Thread 0x7f76bb327700 (LWP 5652))]
(gdb) bt
#0  0x00007f76c1c7ba30 in ?? () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#1  0x00007f76c1c7cffa in curl_maprintf () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#2  0x00007f76c1ca1976 in ?? () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#3  0x00007f76c1c7a014 in ?? () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#4  0x00007f76c1c8b073 in ?? () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#5  0x00007f76c1c8ba96 in curl_multi_perform () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#6  0x00007f76c1c8275b in curl_easy_perform () from /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#7  0x000000000040f9f7 in ?? ()
#8  0x0000000000406595 in ?? ()
#9  0x00007f76c18336ba in start_thread (arg=0x7f76bb327700) at pthread_create.c:333
#10 0x00007f76c081a82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

attach file is my coredump file and cpuminer binary file.

Archive.zip

JayDDee commented 7 years ago

That's an ugly crash. It appears to have occured in system code trying to create a miner thread. This code is common to any cpuminer instance regardless of any user arguments. I haven't seen this problem before so I have to assume something specific to your system. Ubuntu 16.04 and GCC 5.4 are very common so I don't suspect an OS or compiler compatibility issue. Is there anything customized in your system or did you modify any compile flags? The crash occurred in curl code, maybe a problem with that package?

A little background could help eliminate some other possibilities. I presume the problem is reproduceable. Have you tried recompiling, re-downloading source, different cpuminer version?

Akagi201 commented 7 years ago

@JayDDee I think it is related to my company's network. I compile the same code on AWS and GCP, and both run successfully.

For build steps, I just run ./build.sh and ./cpuminer -h can work.

It is very strange, I checked 1598 port, the port is not blocked. And I changed to other mining pool, it is still not working.

JayDDee commented 7 years ago

Closing as this is not a cpuminer issue.