m0mchil / poclbm Goto Github PK
View Code? Open in Web Editor NEWPyOpenCL bitcoin miner
License: Other
PyOpenCL bitcoin miner
License: Other
After I pulled the most recent version today I get the following error msg when it seems to be attempting to submit a found hash. I mine on triplemining.com and thought it was an error with that pool but I switched back to slush and have the same problem there. Any ideas?
serv1 19/07/2011 15:54:52, Unexpected error:
Traceback (most recent call last):
File "/home/user/poclbm/HttpTransport.py", line 50, in loop
rv = self.send(result)
File "/home/user/poclbm/Transport.py", line 89, in send
is_block = belowOrEquals(h[:7], self.true_target[:7])
TypeError: 'NoneType' object is not subscriptable
Every time poclbm goes to check for strata, bitcoin-qt freezes for about twenty seconds, using 100% of one CPU core, before returning to work. By that point, poclbm's five-second timeout has elapsed and it gives up waiting. It doesn't seem to try again afterwards, so it's left in an infinite loop of poclbm waiting for work that never comes.
Would it be possible to either extend that timeout by default, or better yet, add the option to customise it on the commandline, please?
I've annotated a commandline output to hopefully explain what I mean better:
31/05/2013 10:58:14, Setting server (XXXXXX @ 10.0.XXX.XXX:8332)
10.0.XXX.XXX:8332 31/05/2013 10:58:51, checking for stratum...
(bitcoin-qt freezes here)
10.0.XXX.XXX:8332 31/05/2013 10:58:56, no response to getwork, using as stratum
10.0.XXX.XXX:8332 31/05/2013 10:59:06, Failed to subscribe
10.0.XXX.XXX:8332 31/05/2013 10:59:08, IO errors - 1, tolerance 1
(bitcoin-qt unfreezes and would respond at this point if poclbm were still listening)
10.0.XXX.XXX:8332 31/05/2013 10:59:18, Failed to subscribe
10.0.XXX.XXX:8332 31/05/2013 10:59:20, IO errors - 2, tolerance 1
10.0.XXX.XXX:8332 31/05/2013 10:59:20, No more backup pools left. Using primary and starting over.
10.0.XXX.XXX:8332 31/05/2013 10:59:20, Setting server (XXXXXX @ 10.0.XXX.XXX:8332)
10.0.XXX.XXX:8332 31/05/2013 10:59:30, Failed to subscribe
10.0.XXX.XXX:8332 31/05/2013 10:59:32, IO errors - 1, tolerance 1
(these messages repeat ad infinitum)
poclbm.exe --device=0
Traceback (most recent call last):
File "poclbm.py", line 85, in
File "BitcoinMiner.pyo", line 50, in init
File "BitcoinMiner.pyo", line 263, in get_adapter_info
NameError: global name 'ADLError' is not defined
Using Windows 7 x64 and MSI R7970
eu.eclipsemc.com:8337 13/04/2013 16:30:31, long poll IO error
Traceback (most recent call last):
File "GetworkSource.pyo", line 198, in long_poll_thread
File "GetworkSource.pyo", line 106, in request
File "GetworkSource.pyo", line 144, in timeout_response
File "httplib.pyo", line 1018, in getresponse
ResponseNotReady
eu.eclipsemc.com:8337 13/04/2013 16:30:31, LP connected to eu.eclipsemc.com:8337
Sadly I have no idea why this happens, just that it does. There appears to be recovery when this error occurs when running poclbm in DOS console, it's just noisy.
eu.eclipsemc.com:8337 13/04/2013 16:27:53, long poll IO error timed out
Traceback (most recent call last):
File "GetworkSource.pyo", line 198, in long_poll_thread
File "GetworkSource.pyo", line 105, in request
File "httplib.pyo", line 958, in request
File "httplib.pyo", line 992, in _send_request
File "httplib.pyo", line 954, in endheaders
File "httplib.pyo", line 814, in _send_output
File "httplib.pyo", line 776, in send
File "httplib.pyo", line 757, in connect
File "socket.pyo", line 571, in create_connection
timeout: timed out
eu.eclipsemc.com:8337 13/04/2013 16:27:53, LP connected to eu.eclipsemc.com:8337
Sadly I have no idea why this happens, just that it does. There appears to be recovery when this error occurs when running poclbm in DOS console, it's just noise (and an unhandled exception which I guess could have follow-on effects?)
Miner breaks with this error while doing first hashings:
jors@backwards:~/BITCOIN_GPU$ python poclbm.py -d 0 --user myuser --pass mypass
6289 khash/sException in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/lib/python2.6/threading.py", line 484, in run
self.__target(_self.__args, *_self.__kwargs)
File "/home/jors/BITCOIN_GPU/BitcoinMiner.py", line 336, in miningThread
queue.finish()
LogicError: clFinish failed: invalid command queue
Once this happens, processing stops. Debian Testing here with a Geforce Nvidia 8600GT. Python version is 2.6.6, and Followed that guide [1], even if I also replaced apps to its current version:
wget https://raw.github.com/m0mchil/poclbm/06cf386a358a416b4119482bdfaf0d4511ac91b7/BitcoinMiner.cl
wget https://raw.github.com/m0mchil/poclbm/06cf386a358a416b4119482bdfaf0d4511ac91b7/BitcoinMiner.py
wget https://raw.github.com/m0mchil/poclbm/06cf386a358a416b4119482bdfaf0d4511ac91b7/poclbm.py
wget https://raw.github.com/m0mchil/poclbm/06cf386a358a416b4119482bdfaf0d4511ac91b7/sha256.py
Nvidia packages:
jors@backwards:~/BITCOIN_GPU$ dpkg -l | grep -i nvidia
ii libcuda1 270.41.19-1 NVIDIA CUDA runtime library
ii libcuda1-ia32 270.41.19-1 NVIDIA CUDA runtime library (32-bit)
ii libgl1-nvidia-alternatives 270.41.19-1 simplifies replacing MESA libGL with GPU vendor libraries
ii libgl1-nvidia-glx 270.41.19-1 NVIDIA binary OpenGL libraries
ii libglx-nvidia-alternatives 270.41.19-1 simplifies replacing Xorg module libglx.so with GPU vendor library
ii libnvidia-compiler 270.41.19-1 NVIDIA runtime compiler library
ii libnvidia-compiler-ia32 270.41.19-1 NVIDIA runtime compiler library (32-bit)
ii libnvidia-ml1 270.41.19-1 NVIDIA management library (NVML) runtime library
ii nvidia-glx 270.41.19-1 NVIDIA binary Xorg driver
ii nvidia-installer-cleanup 20110515+1 Cleanup after driver installation with the nvidia-installer
rc nvidia-kernel-2.6.26-1-amd64 173.14.09+3 NVIDIA binary kernel module for Linux 2.6.26-1-amd64
ii nvidia-kernel-common 20110515+1 NVIDIA binary kernel module support files
ii nvidia-kernel-dkms 270.41.19-1 NVIDIA binary kernel module DKMS source
ii nvidia-libopencl1 270.41.19-1 NVIDIA OpenCL library
ii nvidia-libopencl1-ia32 270.41.19-1 NVIDIA OpenCL 32-bit library
ii nvidia-opencl-common 270.41.19-1 NVIDIA OpenCL driver
ii nvidia-opencl-icd 270.41.19-1 NVIDIA OpenCL ICD
ii nvidia-opencl-icd-ia32 270.41.19-1 NVIDIA OpenCL ICD (32-bit)
ii nvidia-smi 270.41.19-1 NVIDIA System Management Interface
ii nvidia-support 20110515+1 NVIDIA binary graphics driver support files
ii nvidia-vdpau-driver 270.41.19-1 NVIDIA vdpau driver
Any other useful information you may need, please, ask for it and I will provide. Thanks.
I want to know that how to use it to mine btc for me
can you tell me?
thank tou
Hello. I am a programmer in python. I'm no way the top best, but I like to see if I can help out :) I am having a little issue getting the code to run to find where the slow down really is (besides in the BitcoinMiner.py file) , so I was hoping you can point me to the slow so I can get to work on trying to help.
This code is a lot cleaner than the other site I was on xD I thought it was the same code project lol. In the end I might not be able to help, but I will sure take a shoot at it at least.
While attempting to use poclbm with guiminer, using the version packaged with the latest release of guiminer:
C:\Users\colin\Desktop\guiminer>poclbm.exe user:[email protected]:8332 --device=0 --platform=0 --verbose -r1 -v -w 128 -f 30
27/11/2012 20:19:41, ADL_Adapter_Active_Get failed, cutoff temperature disabled
for 0:0:Barts
Traceback (most recent call last):
File "poclbm.py", line 78, in <module>
File "OpenCLMiner.pyo", line 100, in initialize
File "OpenCLMiner.pyo", line 129, in __init__
TypeError: 'NoneType' object has no attribute '__getitem__'
I think this is the offending line:
https://github.com/m0mchil/poclbm/blob/master/OpenCLMiner.py#L129
My shot in the dark would be that OpenCLMiner.get_adapter_info() is returning None when it hits a bad condition at L361 and L129 isn't checking for that possible condition or recovering from the thrown exception.
I'm running a Radeon HD 6850 on Windows 7 x64 with an AMD Athlon X2 6000+. I've also reported this in Kiv#54. I've executed poclbm both within guiminer and at the command line.
Pasting the username (e.g. from a browser) into the Username field takes > 5 seconds which feels odd. I'm not experiencing similar trouble in other applications while I experience it with poclbm.
experienced with 5c6b314
I've remapped my appdata folder location, and when I try to start guiminner.exe I'm getting the error:
No such file or directory: 'C:\Users{me}\AppData\Roaming\Bitcoin\bitcoin.conf'
which is no longer where my AppData (and thus bitcoin.conf file) is located.
Can you use the %APPDATA% env variable instead?
Also, I often run a portable version of bitcoin-qt.exe where I specify yet another location for my bitcoin.conf file.
Would it be (or is it already?) possible to set the bitcoin.conf file location in an .ini file?
with the latest update for poclbm at github.com/downloads/m0mchil/poclbm/poclbm_py2exe_20120920.7z, I get the following error message when running poclbm.exe.
Code:
Traceback (most recent call last):
File "poclbm.py", line 3, in
File "zipextimporter.pyo", line 82, in load_module
File "BitcoinMiner.pyo", line 16, in
File "zipextimporter.pyo", line 82, in load_module
File "adl3__init__.pyo", line 1, in
File "zipextimporter.pyo", line 82, in load_module
File "adl3\adl_api.pyo", line 53, in
File "ctypes__init__.pyo", line 353, in init
WindowsError: [Error 126] The specified module could not be found
Working fine with previous version.
Any suggestion?
files were cloned from this git server.
here is the command line:
./poclbm.py --no-bfl -d 0 http://xxx:[email protected]:8332
the last line of screen is:
api.bitcoin.cz:8332 05/06/2013 11:26:16, diverted to stratum on stratum.bitcoin.cz:3333
no more output. how can i find out my hash rate, please?
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 550 Ti/PCIe/SSE2
OpenGL version string: 4.2.0 NVIDIA 304.64
OpenGL shading language version string: 4.20 NVIDIA via Cg compiler
This is my problem when I turn on poclbm.ph . pls help me. thanks
localhost:~ supreme$ /Users/supreme/poclbm/poclbm.py -d 1 http://[email protected]:[email protected]:8332
Traceback (most recent call last):
File "/Users/supreme/poclbm/poclbm.py", line 86, in
import BFLMiner
File "/Users/supreme/poclbm/BFLMiner.py", line 5, in
from serial.serialutil import SerialException
poclbm tries to create some sorf of .elf tempfiles in its directory.but this leads to security problems under win7(i have read unter winxp and linux too), which do not allow such behaviour. resulting in the following error:
IOError: [Errno 13] Permission denied: '75f47f8cf8b80b32b9f6eea7786559d4.elf'
to my knowledge such files should be created in the %temp% folder. so this should be fixed quite easily just change the path where the .elf-files are created and recompile the program. i would do it myself but being completely new to github and python makes that quite hard.
Trying this on OS X 10.8 Developer Preview 2. Using the built-in python2.7. Andreas at pyopencl modified that code to install on 10.8 which it appears to do. I'm trying to then run 2/5/12 version of poclbm and am getting this error:
$ ./poclbm.py --user=xxx --pass=xxx -o bitcoinpool.com -p 8334
Traceback (most recent call last):
File "./poclbm.py", line 3, in
from BitcoinMiner import *
File "/Volumes/Hitachi/Downloads/m0mchil-poclbm-fa6915c/BitcoinMiner.py", line 11, in
import pyopencl as cl
File "/Library/Python/2.7/site-packages/pyopencl-2011.2-py2.7-macosx-10.8-intel.egg/pyopencl/init.py", line 4, in
import pyopencl._cl as _cl
ImportError: dlopen(/Library/Python/2.7/site-packages/pyopencl-2011.2-py2.7-macosx-10.8-intel.egg/pyopencl/_cl.so, 2): Symbol not found: _clCreateProgramWithBuiltInKernels
Referenced from: /Library/Python/2.7/site-packages/pyopencl-2011.2-py2.7-macosx-10.8-intel.egg/pyopencl/_cl.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/pyopencl-2011.2-py2.7-macosx-10.8-intel.egg/pyopencl/_cl.so
Any ideas how to fix it? thanks
Hello, I'm trying to use poclbm (most recent one from master) for GPU mining on Mac OS X 10.6.8 with HD 5750. I've everything setup correctly, pyopencl is installed using pip and CPU mining works. However when I choose GPU as a mining device I get a segfault. The segfault is caused by a build issue with the kernel file for SHA computation.
I traced the problem to the following line in BitcoinMiner.py
:
self.miner = cl.Program(self.context, kernel).build(self.defines)
I also checked with the most recent development version of PyOpenCL from their Git repository and the issue persists. Is there something I can do? I thought about trying to swap the phatk kernel for something different but I haven't explored further yet.
Thanks
Here's a stack trace from gdb:
#1 0x00000001132263d8 in glrCompLoadBinary ()
#2 0x00000001132264db in glrCompLoadBinary ()
#3 0x0000000113226692 in glrCompBuildProgram ()
#4 0x00007fff85027175 in clBuildProgram ()
#5 0x00000001015ff736 in pyopencl::program::build ()
#6 0x00000001015ead40 in pyopenclboost::python::objects::caller_py_function_impl<pyopenclboost::python::detail::caller<void (pyopencl::program::*)(std::string, pyopenclboost::python::api::object), pyopenclboost::python::default_call_policies, pyopenclboost::mpl::vector4<void, pyopencl::program&, std::string, pyopenclboost::python::api::object> > >::operator() ()
#7 0x000000010163aa6a in pyopenclboost::python::objects::function::call ()
#8 0x000000010163ae00 in pyopenclboost::detail::function::void_function_ref_invoker0<pyopenclboost::python::objects::(anonymous namespace)::bind_return, void>::invoke ()
#9 0x0000000101649be1 in pyopenclboost::python::detail::exception_handler::operator() ()
#10 0x0000000101622d02 in pyopenclboost::detail::function::function_obj_invoker2<pyopenclboost::_bi::bind_t<bool, pyopenclboost::python::detail::translate_exception<pyopencl::error, void (*)(pyopencl::error const&)>, pyopenclboost::_bi::list3pyopenclboost::arg<1, pyopenclboost::arg<2>, pyopenclboost::_bi::value<void (*)(pyopencl::error const&)> > >, bool, pyopenclboost::python::detail::exception_handler const&, pyopenclboost::function0<void> const&>::invoke ()
#11 0x000000010164981b in pyopenclboost::python::handle_exception_impl ()
#12 0x00000001016379ce in function_call ()
#13 0x000000010000c122 in PyObject_Call ()
#14 0x00000001000c279a in PyEval_EvalFrameEx ()
#15 0x00000001000c66f6 in PyEval_EvalCodeEx ()
#16 0x00000001000c46d3 in PyEval_EvalFrameEx ()
#17 0x00000001000c66f6 in PyEval_EvalCodeEx ()
#18 0x00000001000c46d3 in PyEval_EvalFrameEx ()
#19 0x00000001000c66f6 in PyEval_EvalCodeEx ()
#20 0x00000001000c46d3 in PyEval_EvalFrameEx ()
#21 0x00000001000c66f6 in PyEval_EvalCodeEx ()
#22 0x00000001000c46d3 in PyEval_EvalFrameEx ()
#23 0x00000001000c5d90 in PyEval_EvalFrameEx ()
#24 0x00000001000c66f6 in PyEval_EvalCodeEx ()
#25 0x000000010003d440 in function_call ()
#26 0x000000010000c122 in PyObject_Call ()
#27 0x00000001000c0ebf in PyEval_EvalFrameEx ()
#28 0x00000001000c5d90 in PyEval_EvalFrameEx ()
#29 0x00000001000c5d90 in PyEval_EvalFrameEx ()
#30 0x00000001000c66f6 in PyEval_EvalCodeEx ()
#31 0x000000010003d440 in function_call ()
#32 0x000000010000c122 in PyObject_Call ()
#33 0x000000010001d60d in instancemethod_call ()
#34 0x000000010000c122 in PyObject_Call ()
#35 0x00000001000be0b7 in PyEval_CallObjectWithKeywords ()
#36 0x00000001001048d3 in t_bootstrap ()
#37 0x00007fff83c02fd6 in _pthread_start ()
#38 0x00007fff83c02e89 in thread_start ()```
Warning: overflow encountered in ulong_scalars
I got this warning a few times in the logs is this bad or simply a warning from pyopencl internals?
Hi, someone using GUIMiner reported this exception:
2011-08-23 22:13:21: Listener for "5970G1": Traceback (most recent call last):
2011-08-23 22:13:21: Listener for "5970G1": File "poclbm.py", line 67, in
2011-08-23 22:13:21: Listener for "5970G1": File "BitcoinMiner.pyo", line 32, in init
2011-08-23 22:13:21: Listener for "5970G1": File "HttpTransport.pyo", line 20, in init
2011-08-23 22:13:21: Listener for "5970G1": File "Transport.pyo", line 46, in init
2011-08-23 22:13:21: Listener for "5970G1": AttributeError: 'HttpTransport' object has no attribute 'failure'
In the code, the failure method is not defined so this exception occurs. This is not a critical fix but the user will never see the error message that is intended.
Hello,
Right now btcguild is down to some extent. They are still accepting connections but rejecting all logins. Instead of falling back to the next server on the line poclbm exits out. I expected that it would failover gracefully to the next server in the list.
The code looks clean and readable (mainly because it's python).
But it will be desirable to include more comments on the source code and a few documentation about each function.
It's easy to comment the code meanwhile you write it and help other people to understand it easily.
I get the following from time to time. This is the same no matter what pool I am mining from. I am not tech savvy enough to say if it's a bug or if it's a configuration issue. I thought I might post it in any case.
System is x64 Arch Linux with the poclbm-git package from AUR (pulling from this git tree).
https://aur.archlinux.org/packages.php?ID=49193
19/06/2011 10:19:44, long poll exception:
Traceback (most recent call last):
File "/home/johan/poclbm/BitcoinMiner.py", line 259, in longPollThread
(connection, result) = self.request(connection, url, self.headers)
File "/home/johan/poclbm/BitcoinMiner.py", line 222, in request
response = connection.getresponse()
File "/usr/lib/python2.7/httplib.py", line 1027, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 407, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 365, in _read_status
line = self.fp.readline()
File "/usr/lib/python2.7/socket.py", line 430, in readline
data = recv(1)
timeout: timed out
/home/root/poclbm/OpenCLMiner.py:252: DeprecationWarning: 'enqueue_read_buffer' has been deprecated in version 2011.1. Please use enqueue_copy() instead.
cl.enqueue_read_buffer(queue, output_buffer, output)
When I run poclbm it doesn't start correctly and I get a "3044 Segmentation fault" error
python poclbm.py xxxxxxxx@[email protected]:8332 -v -w 256 -d 0 -p 0
WARNING: no adl3 module found (github.com/mjmvisser/adl3), temperature control is disabled
21/02/2014 15:37:51, Setting server (xxxxxxxx@xxxxxxxxx @ pit.deepbit.net:8332)
pit.deepbit.net:8332 21/02/2014 15:37:51, checking for stratum...
Segmentation fault
Any ideas?
13/04/2013 16:33:33, started OpenCL miner on platform 0, device 0 (Cypress)
13/04/2013 16:33:33, Setting server (user @ eu.eclipsemc.com:8337)
eu.eclipsemc.com:8337 13/04/2013 16:33:33, checking for stratum...
eu.eclipsemc.com:8337 13/04/2013 16:33:38, no response to getwork, using as stratum
eu.eclipsemc.com:8337 13/04/2013 16:33:51, Failed to subscribe
eu.eclipsemc.com:8337 13/04/2013 16:33:53, IO errors - 1, tolerance 2
At this point poclbm just seems to hang, ctrl-c and running it again and the problem is gone but I seem to get this a fair bit (more than once per day).
Running 12.10 on Win 7 64 on a 5870 (standard clocks, temp and fans seem reasonable)
adding a custom miner (in my case all three types CUDA
, CG
and Ufasoft
) causes nothing, but a message in the form of
OSError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/mnt/DATA/sources/poclbm/miners/puddinpop'
("Datei oder Verzeichnis nicht gefunden" means "No such file or directory" - LANG
is ignored) to be logged. This could already be more verbose, because these are the default value and there has to be a reason why they are set. And there's no feedback in the GUI at all. The fact that the python frontend is apparently trying to execute/executing .exe file isn't very intuitive neither and needs explanation in the application feedback (logs and GUI).
experienced with 5c6b314
I tried to run poclbm but that doesnt work. I got the following error:
File "/var/lib/poclbm/BitcoinMiner.py", line 359, in loadKernel
kernelFile = open('BitcoinMiner.cl', 'r')
IOError: [Errno 2] No such file or directory: 'BitcoinMiner.cl'
This is because you assume at this point that the CWD is the directory where BitcoinMiner.cl is. Thats wrong.
In my case I put a startup script for poclbm in my home directory and launch poclbm which is in /var/lib/poclbm/ (installed with the package manager).
So it crashs.
I guess you want to use instead:
import os
...
open(os.path.join(os.path.dirname(__file__), 'BitcoinMiner.cl'), 'r')
$ ./poclbm.py http://user:[email protected]:8332
26/07/2011 19:51:20, Setting server (user @ pit.deepbit.net:8332)
Exception in thread Thread-1:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 530, in *bootstrap_inner
self.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 483, in run
self.__target(_self.__args, _self.__kwargs)
File "/Volumes/Daten/Downloads/poclbm/BitcoinMiner.py", line 63, in mining_thread
self.load_kernel()
File "/Volumes/Daten/Downloads/poclbm/BitcoinMiner.py", line 179, in load_kernel
binaryW.write(self.miner.binaries[0])
File "/Library/Python/2.7/site-packages/pyopencl-2011.1.2-py2.7-macosx-10.7-intel.egg/pyopencl/__init.py", line 419, in getattr
"info attribute or as a kernel name" % attr)
AttributeError: 'binaries' was not found as a program info attribute or as a kernel name
pit.deepbit.net:8332 26/07/2011 19:51:21, LP connected to pit.deepbit.net:8332
on osx as well as linux..
eu.eclipsemc.com:8337 13/04/2013 17:12:17, long poll IO error [Errno 10061] No connection could be made because the target machine actively refused it
Traceback (most recent call last):
File "GetworkSource.pyo", line 198, in long_poll_thread
File "GetworkSource.pyo", line 105, in request
File "httplib.pyo", line 958, in request
File "httplib.pyo", line 992, in _send_request
File "httplib.pyo", line 954, in endheaders
File "httplib.pyo", line 814, in _send_output
File "httplib.pyo", line 776, in send
File "httplib.pyo", line 757, in connect
File "socket.pyo", line 571, in create_connection
error: [Errno 10061] No connection could be made because the target machine actively refused it
This is repeated over and over when a network connection is lost. Maybe poclbm should start (and notify about) an exponential backoff rather than just continuing to spam the logs every ~3s when connection is lost?
poclbm doesn't work with the new AMD drivers. I upgraded to 13.4 and now everytime I try to mine with poclbm I get "Verification failed, check hardware!".
In fact, looks like it stopped working with all the other miners as well.
I signed up to slush's pool yesterday. I downloaded the GUI Miner. I have a working computer with a fast Internet connection, but when I click "Start Mining!", nothing happens. In the lower right, it still says "Stopped".
Starting at line 334 of BitcoinMiner.py:
There is a bug that happens if self.updateTime == '' && 0xFFFFFFFFFFF < noncesLeft < 0xFFFFFFFFFFFF && output[OUTPUT_SIZE]:
if self.updateTime == '':
...
elif 0xFFFFFFFFFFF < noncesLeft < 0xFFFFFFFFFFFF:
...
work = None
BUT
(some rows below)
if output[OUTPUT_SIZE]:
result['work'] = work
So 'work' is still used.
There are many solutions, and I'm not a python programmer (you can copy work in a temp variable, check for self.updateTime == '' AFTER checking output[OUTPUT_SIZE] for the solution...
Invoking python ./guiminer.py
and closing the main application window causes the GUI window to disappear, but the application to hang for > 30 minutes (after that I sent SIGTERM). This is independent of whether mining has been started or not. It might be related to the fact that no graphic card is detected in my case. The output of python ./guiminer.py
is
$ python ./guiminer.py
['/mnt/DATA/sources/poclbm', '/usr/local/lib/python2.7/dist-packages/Electrum-1.9.8-py2.7.egg', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/omniORB/COS', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/wx-3.0-gtk2']
./guiminer.py:38: wxPyDeprecationWarning: Using deprecated class PySimpleApp.
app = wx.PySimpleApp(0)
./guiminer.py:39: wxPyDeprecationWarning: Call to deprecated item 'InitAllImageHandlers'.
wx.InitAllImageHandlers()
ERROR:root:Failed to load taskbar icon; continuing.
DEBUG:poclbm-gui:Loaded: {"profiles": [{"username": "username", "balance_auth_token": "", "name": "Default", "hostname": "api2.bitcoin.cz", "device": 0, "affinity_mask": 1, "flags": "", "autostart": false, "external_path": "", "password": "pass", "port": "8332"}, {"username": "**********", "balance_auth_token": "", "name": "WeMineLTC-NVIDIA", "hostname": "127.0.0.1", "device": 0, "affinity_mask": 1, "flags": "", "autostart": false, "external_path": "/mnt/DATA/sources/poclbm/miners/puddinpop/rpcminer-cuda.exe", "password": "**********", "port": "8332"}], "bitcoin_executable": "", "window_position": [1006, 542, 585, 299], "show_summary": false, "show_opencl_warning": true, "console_max_lines": 5000, "start_minimized": false, "blockchain_directory": "", "show_console": false}
(replaced username and password with **********
)
experienced with 5c6b314
hi.
found fork of your miner with backup mining pool
https://github.com/kylegibson/poclbm
I think this is good idea - please include this futures in next release
For example Deepbit worker username can be [email protected]_x where x is a integer - which is default format when creating new worker.
For some workers it is impossible to login using new version of poclbm.py.
Especially it can be problematic for huge GPU farm owners.
pit.deepbit.net:8332 14/01/2013 13:04:25, checking for stratum...
pit.deepbit.net:8332 14/01/2013 13:04:25, 'Object' object has no attribute '__getitem__'
pit.deepbit.net:8332 14/01/2013 13:04:25, no response to getwork, using as stratum
Traceback (most recent call last):
File "./poclbm.py", line 95, in <module>
switch.loop()
File "/home/me/src/poclbm/Switch.py", line 98, in loop
failback = self.server_source().loop()
File "/home/me/src/poclbm/StratumSource.py", line 96, in loop
proxy_proto, user, pwd, proxy_host = self.options.proxy[:4]
TypeError: 'Object' object has no attribute '__getitem__'
As the title says, when I try running poclbm it fails early in the startup with this error message:
Traceback (most recent call last):
File "./poclbm.py", line 86, in
import BFLMiner
File "/home/tony/poclbm/BFLMiner.py", line 5, in
from serial.serialutil import SerialException
ImportError: No module named serial.serialutil
This is in Lubuntu 13.04. I noticed that this distro uses Python 3 whereas most use 2, could that be the issue?
poclbm_py2exe_20110325.7z>poclbm --user=cande --pass=xxx -o localhost -p 8332 -d 0
Traceback (most recent call last):
File "poclbm.py", line 30, in
File "BitcoinMiner.pyo", line 86, in init
File "pyopencl__init__.pyo", line 73, in result
AttributeError: <class 'pyopencl._cl.Context'> has no attribute 'replace'
$ ./poclbm.py -d 0 http://user:[email protected]:8332
WARNING: no adl3 module found (github.com/mjmvisser/adl3), temperature control is disabled
30/03/2013 12:05:50, started OpenCL miner on platform 0, device 0 (Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz)
30/03/2013 12:05:50, Setting server (user @ example.com:8332)
Traceback (most recent call last):
File "./poclbm.py", line 101, in <module>
if switch: switch.stop()
File "/home/sam/src/live-miner/live-miner/config/includes.chroot/opt/poclbm/Switch.py", line 149, in stop
self.server_source().stop()
File "/home/sam/src/live-miner/live-miner/config/includes.chroot/opt/poclbm/Switch.py", line 267, in server_source
import GetworkSource
File "/home/sam/src/live-miner/live-miner/config/includes.chroot/opt/poclbm/GetworkSource.py", line 3, in <module>
from httplib import HTTPException
File "/usr/lib/python2.7/httplib.py", line 1140, in <module>
import ssl
File "/usr/lib/python2.7/ssl.py", line 100, in <module>
class SSLSocket(socket):
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str
This happens because ssl.SSLSocket
inherits from socket.socket
, which is no longer a class due to the socket wrapper code at the top of poclbm.py
.
This broke when the import of GetworkSource
was moved out of module level in a5ab744.
https://github.com/downloads/m0mchil/poclbm/poclbm_py2exe_20120920.7z
poclbm.exe doesn't seem to work in my Windows 7 Professional (64-bit) with GeForce 210.
c:\poclbm_py2exe_20120920>poclbm.exe
Traceback (most recent call last):
File "poclbm.py", line 3, in
File "zipextimporter.pyo", line 82, in load_module
File "BitcoinMiner.pyo", line 16, in
File "zipextimporter.pyo", line 82, in load_module
File "adl3__init__.pyo", line 1, in
File "zipextimporter.pyo", line 82, in load_module
File "adl3\adl_api.pyo", line 53, in
File "ctypes__init__.pyo", line 353, in init
WindowsError: [Error 5] Kõytt÷ estetty
c:\poclbm_py2exe_20120920>
It makes easier to download specific version.
Synchronize it with windows packages.
def connect(self, host, timeout):
if self.proto == 'https':
return httplib.HTTPSConnection(self.host, strict=True, timeout=timeout)
return httplib.HTTPConnection(self.host, strict=True, timeout=timeout)
why not def connect(self, proto, host, timeout)? the host is not used in the function.
I keep getting an error, not sure what is going on exactly. I used the command, ./poclbm.py [host]. and this returns:
api2.bitcoin.cz:8332 17/10/2012 01:51:36, IO errors - 1, tolerance 2
api2.bitcoin.cz:8332 17/10/2012 01:51:37, list index out of range
Traceback (most recent call last):
File "/usr/lib/python2.7/asyncore.py", line 83, in read
obj.handle_read_event()
File "/usr/lib/python2.7/asyncore.py", line 444, in handle_read_event
self.handle_read()
File "/usr/lib/python2.7/asynchat.py", line 158, in handle_read
self.found_terminator()
File "/home/neumann/poclbm/StratumTransport.py", line 295, in found_terminator
self.parent.handle_message(message)
File "/home/neumann/poclbm/StratumTransport.py", line 168, in handle_message
self.queue_work(j)
File "/home/neumann/poclbm/StratumTransport.py", line 271, in queue_work
self.servers.queue_work(self, work.block_header, target, work.job_id, work.extranonce2, miner)
File "/home/neumann/poclbm/Servers.py", line 234, in queue_work
miner = self.miners[0]
IndexError: list index out of range
I'm using AMD A4-3305M APU with Radeon HD graphics card. Any idea what's going on?
04/03/2011 14:33:20, Unexpected error:
Traceback (most recent call last):
File "BitcoinMiner.pyc", line 200, in mine
File "BitcoinMiner.pyc", line 180, in getwork
TypeError: string indices must be integers
please let me know if there's a way i can fix this. i tried looking at the source and it looks like it's the last line copied below that's having a problem. i am not super familiar with json module, but i looked it up and it looks like it should return a dictionary, not a string. maybe the fact that 2 string indices are specified is the issue? maybe result['error'] is already a string and so then trying to do ['message'] after that is a problem?
thanks for your help
https://github.com/m0mchil/poclbm/blob/master/BitcoinMiner.py#L180
result = loads(response.read())
if result['error']:
self.say(result['error']['message'])
Hello,
I've modified the source to add some stats about the found hashes, the total counts, average etc... They are displayed on the line with the last event message. When you exit it shows you all the found hashes and the uptime. I hope it will help people and improve your experience :) Tested and patched for b981138.
-> Uploaded here: http://pastebin.com/gzg9g6ie
and below (seems it miss so lines at the end).
diff --git a/BitcoinMiner.py b/BitcoinMiner.py index 0f47225..66e6a51 100644 --- a/BitcoinMiner.py +++ b/BitcoinMiner.py @@ -24,6 +24,28 @@ def socketwrap(family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0): return sockobj socket.socket = socketwrap +hash_found = [ ] +startup_time = time() +timeago_desc = [ + (1, "sec"), + (60, "mn"), + (3600, "hours"), + (86400, "days"), + (604800, "weeks"), + (2419200, "months"), + (29030400, "years") + ] +timeago_desc.reverse() +def timeago(time, n=2): + delta = int(time) + fdesc = [ ] + for (div, desc) in timeago_desc: + fdesc.append( (delta/div, desc) ) + delta = delta % div + fdesc = filter(lambda (d,t): d!=0, fdesc) + if len(fdesc) == 0: + return "now" + return ', '.join(map(lambda (d,t): "%i %s" % (d, t), fdesc[:n])) + " ago" VERSION = '201103.beta3' @@ -73,6 +95,7 @@ class BitcoinMiner(): self.worksize = int(worksize) self.frames = max(int(frames), 3) self.verbose = verbose + self.lastMessage = (None, None) # (Time, Msg) self.longPollActive = self.stop = False self.update = True self.lock = RLock() @@ -93,19 +116,30 @@ class BitcoinMiner(): if self.verbose: print '%s,' % datetime.now().strftime(TIME_FORMAT), format % args else: - sys.stdout.write('\r \r%s' % (format % args)) + sys.stdout.write('\r%s\r%s' % (" "*70, format % args)) + (mtime, msg) = self.lastMessage + if mtime and msg: + sys.stdout.write(' - %s [%s]' % (msg, timeago(time()-mtime))) sys.stdout.flush() def sayLine(self, format, args=()): - if not self.verbose: - format = '%s, %s\n' % (datetime.now().strftime(TIME_FORMAT), format) - self.say(format, args) + self.lastMessage = (time(), format % args) def exit(self): + print "\nHash found (%i): %s" % \ + (len(hash_found), \ + ', '.join(map(lambda (x,y): "[%s@%i]" % (y, x), hash_found))) + print "Uptime: %i" % (time() - startup_time) + print 'bye' self.stop = True def hashrate(self, rate): - self.say('%s khash/s', rate) + hash_count = len(hash_found) + hash_avg = 0 + if hash_count > 0: + hash_avg = float(time() - startup_time) / float(hash_count) + self.say('%.3f Mhs, ct: %i, avg: %.1f' % \ + (rate/1000.0, hash_count, hash_avg)) def failure(self, message): print '\n%s' % message @@ -116,6 +150,7 @@ class BitcoinMiner(): self.sayLine('checking %s <= %s', (hash, target)) def blockFound(self, hash, accepted): + hash_found.append((time(), hash)) self.sayLine('%s, %s', (hash, if_else(accepted, 'accepted', 'invalid or stale'))) def mine(self):
I'm using poclbm with flag "-s 0.01" to avoid high temperatures on my gpu. I usually mine about 150MHash/s but when poclbm get "long poll: new block", speed goes down to 500kHash/s and I need to restart poclbm to get normal speed again.
Is there any plans to support scrypt/LTE ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.