Pages:
Author

Topic: Phoenix - Efficient, fast, modular miner - page 28. (Read 760839 times)

newbie
Activity: 34
Merit: 0
Thanks!

Using: -k phatk DEVICE=0 VECTORS BFI_INT FASTLOOP=false WORKSIZE=256 AGGRESSION=13 on a single 5830 and get 312MH/sec
 Grin
member
Activity: 98
Merit: 10
I started using the latest command line version of poclbm on Windows 7 x64 and I am getting about the same performance, but it is known to reconnect more reliably [although when I used it with GUIMiner, it didn't always reconnect using the version from late March when I tested it and had the issue] and I am getting FAR fewer stale shares than with phoenix.  I have command scripts to allow me to switch miners and pools at will.  I was seeing 1.0 - 1.5% rejected shares with phoenix (more when there were pool problems) while I am seeing about 0.5% using poclbm with a relatively small share sample (about 1200 so far).  I am pretty sure it is the long polling code in phoenix that is causing the additional stale shares and it is certainly causing the recent crashes [why did that suddenly start in the last few days and not before ... I was using 1.48 since it was released but only saw the LP crash for the first time this morning on both machines at the same time (about 2:30AM CDT with deepbit.net).

I like the way phoenix is configured better and I like the command line output that shows the cumulative accepted/rejected counts better, so I really would prefer to use phoenix, but unfortunately, I cannot do so right now.  

Any word on when a new version is out that has been tested with multiple pools long polling?  I would love to test, but with only two machines [one GPU each], I can't afford to have a miner drop while I am away or sleeping [I work from home a lot, so I can test then easily enough ... I am not sure that up to a 16 hour run is sufficient though].

When phoenix comes around, I will be back with it Smiley  Just curious about any progress.  

Thank you.
hero member
Activity: 1330
Merit: 502
Vave.com - Crypto Casino
phoenix is not able to reconnect properly most of the time, right now im using my own programs to monitor it and restart it if the connection is down, and i even implemented a pool switch method too in case if the pool has been down for some time, the nly problem? i need to have thee stats on a plain text file, right now thats a nightmare, the file gets well over 3gb in size after just 24 hours, i need to try to do that phoenix mod ive attemped few days ago to export only stats to a .txt file again.
newbie
Activity: 46
Merit: 0
i am now getting these errors every time i try to run phoenix.  any idea what this means?

Code:
Traceback (most recent call last):
  File "phoenix.py", line 123, in
  File "Miner.pyc", line 75, in start
  File "phoenix.py", line 111, in makeKernel
  File "kernels\poclbm\__init__.py", line 22, in
    import pyopencl as cl
  File "zipextimporter.pyc", line 82, in load_module
  File "pyopencl\__init__.pyc", line 3, in
  File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading pyopencl\_cl.pyd
member
Activity: 98
Merit: 10
Just tried to connect to deepbit.net and tada..

Code:
[30/05/2011 10:55:10] Connected to server
[348.31 Mhash/sec] [0 Accepted] [0 Rejected] [RPC (+LP)]Unhandled Error
Traceback (most recent call last):
  File "twisted\internet\tcp.pyc", line 529, in connectionLost

  File "minerutil\_newclient3420.pyc", line 826, in dispatcher

  File "minerutil\_newclient3420.pyc", line 1434, in _connectionLost_WAITING

  File "minerutil\_newclient3420.pyc", line 1363, in _disconnectParser

--- ---
  File "minerutil\_newclient3420.pyc", line 494, in connectionLost

  File "twisted\web\http.pyc", line 1366, in noMoreData

  File "minerutil\_newclient3420.pyc", line 409, in _finished

  File "minerutil\_newclient3420.pyc", line 1337, in _finishResponse

exceptions.AttributeError: 'NoneType' object has no attribute 'connHeaders'

It got right back to track just a second after the error..

I got that error too.

This is triggered by something that a few of the pools have done [at least deepbit and BTCMine].  I am sick of waking up to finding that hours have gone by with my miners down [and my GPU sitting at 40%].  I am hooked up to BTC Guild right now and maybe I will have more luck.  However, if this happens again, I am going to have to tweak my machines for pclbm and never look back [too much effort already tweaking machines to run optimally and stably].
newbie
Activity: 10
Merit: 0
I'm mining with a GTS 250 and I get about 28-29m on poclbm but when I use phoenix, I can't get above 23m.  Has anyone else experienced this?  Is phoenix just less efficient with Nvidia cards?
newbie
Activity: 2
Merit: 0
However, as explained above I can't reproduce the problem myself so I need users to test this fix. You can either download the binaries below or checkout the latest SVN revision. (98 or 99 is fine)
Still had some hangs with r99, but BitcoinPool just had some hiccups, so I'm not entirely sure where fault is yet. I threw a few coins in your general direction for the effort, though.

I'm currently using a little script to ensure Phoenix is not slacking off. Maybe it's of interest to others until this gets resolved, wherever the bug is:
Code:
#!/usr/bin/python2.7
# Run Phoenix in a loop with 'while true; do ./phoenix yada-yada-yada; echo; done'
# and this script in a separate shell to kill the currently running Phoenix instance
# when GPU load goes below set threshold for set amount of time (default under 50%
# for 30 seconds). Intended for use with one ATI GPU and one Phoenix instance.

import re
import signal
from subprocess import check_output
from os import kill
from time import sleep, strftime, localtime

interval = 1
numsamples = 30
threshold = 50
samples = []

loadreg = re.compile('GPU load :\s+(\d+)')
pidreg = re.compile('(\d+) .* phoenix.py')

while (True):
    res = check_output(['aticonfig', '--odgc'])
    samples.append(int(loadreg.findall(res)[0]))

    if (len(samples) > numsamples):
        del samples[0]

        if (max(samples) < threshold):
            res = check_output(['ps', '-a'])
            for pid in pidreg.findall(res):
                print '%s Max GPU load is below %d%%, killing %s' % (strftime('%Y-%m-%d %H:%M:%S', localtime()), threshold, pid)
                kill(int(pid), signal.SIGINT)
            samples = []

    sleep(interval)

This would work great on Linux. I could even make most of it work on my Windows miner using Cygwin. However, I don't have an equivalent to aticonfig on Windows. Anyone know a good way of getting GPU load into Python (or any scripting language) on Windows/Cygwin?
newbie
Activity: 56
Merit: 0
Just tried to connect to deepbit.net and tada..

Code:
[30/05/2011 10:55:10] Connected to server
[348.31 Mhash/sec] [0 Accepted] [0 Rejected] [RPC (+LP)]Unhandled Error
Traceback (most recent call last):
  File "twisted\internet\tcp.pyc", line 529, in connectionLost

  File "minerutil\_newclient3420.pyc", line 826, in dispatcher

  File "minerutil\_newclient3420.pyc", line 1434, in _connectionLost_WAITING

  File "minerutil\_newclient3420.pyc", line 1363, in _disconnectParser

--- ---
  File "minerutil\_newclient3420.pyc", line 494, in connectionLost

  File "twisted\web\http.pyc", line 1366, in noMoreData

  File "minerutil\_newclient3420.pyc", line 409, in _finished

  File "minerutil\_newclient3420.pyc", line 1337, in _finishResponse

exceptions.AttributeError: 'NoneType' object has no attribute 'connHeaders'

It got right back to track just a second after the error..

I got that error too.
full member
Activity: 140
Merit: 100
Hello,
Is there any way to include special characters in the http username string. In poclbm --user "x;y" works but "http://x;y@hostname/" does not. I also tried "http://x%3by@hostname/" but no luck there either.

Hi again,

After some stracing, I found the bug. It isn't with special chars but rather with long usernames in the URL. phoenix is base64 encoding using some encode function but that function is dropping a newline (\n) character into the base64 stream. That needs to come out else we are sending invalid HTTP headers.
member
Activity: 98
Merit: 10
I just saw the error for the first time this morning.  I am very hesitant to change miners since my dedicated machine is now very finely tuned and when I have tried to use GUI Miner I have managed to topple the machine.  I have seen the connection problem referred to above only once.  For me, Phoenix usually recovers even after 10 minutes or so [I had my router down for a bit the other night and all miners resumed when full Internet access was restored.
newbie
Activity: 43
Merit: 0
I get this one every now and again, usually at about 4am in the morning knowing my luck Cheesy

Code:
  File "/opt/bitcoin/miners/phoenix-1.48/phoenix.py", line 125, in
    reactor.run()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1158, in run
    self.mainLoop()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1167, in mainLoop
    self.runUntilCurrent()
--- ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 789, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/nfsroot/opt/bitcoin/miners/phoenix-1.48/minerutil/RPCProtocol.py", line 127, in callback
    self.root.handleWork(result)
  File "/nfsroot/opt/bitcoin/miners/phoenix-1.48/minerutil/RPCProtocol.py", line 319, in handleWork
    if 'block' in work:
exceptions.TypeError: argument of type 'NoneType' is not iterable
newbie
Activity: 39
Merit: 0
After few hours of mining on deepbit I get usually the following error msg:

Code:
[308.36 Mhash/sec] [1857 Accepted] [29 Rejected] [RPC (+LP)]Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 519, in connectionLost
    protocol.connectionLost(reason)
  File "/phoenix/minerutil/_newclient3420.py", line 826, in dispatcher
    return func(*args, **kwargs)
  File "/phoenix/minerutil/_newclient3420.py", line 1434, in _connectionLost_WAITING
    self._disconnectParser(reason)
  File "/phoenix/minerutil/_newclient3420.py", line 1363, in _disconnectParser
    parser.connectionLost(reason)
--- ---
  File "/phoenix/minerutil/_newclient3420.py", line 494, in connectionLost
    self.bodyDecoder.noMoreData()
  File "/usr/lib/python2.7/dist-packages/twisted/web/http.py", line 1388, in noMoreData
    finishCallback('')
  File "/phoenix/minerutil/_newclient3420.py", line 409, in _finished
    self.finisher(rest)
  File "/phoenix/minerutil/_newclient3420.py", line 1337, in _finishResponse
    connection = self._parser.connHeaders.getRawHeaders('Connection')
exceptions.AttributeError: 'NoneType' object has no attribute 'connHeaders'                                                                                                      [30/05/2011 15:30:54] Warning: work queue empty, miner is idle
[0 Khash/sec] [1857 Accepted] [29 Rejected] [RPC (+LP)]
member
Activity: 62
Merit: 10
Mine too. Never gets reconnected after pool network failures.
hero member
Activity: 927
Merit: 1000
฿itcoin ฿itcoin ฿itcoin
Is there any way to further enhance the reconnecting of phoenix to a pool?
I saw improvements in version 1.48, but if the pool is down for several minutes it seems to never reconnect.
hero member
Activity: 588
Merit: 500
I just found a bug in the long polling code.

It seems that LP fails to work properly if the long polling URL uses a query string (e.g. http://localhost:8332/example?longpoll=example).

Here is the fix:

Code:
--- minerutil/RPCProtocol.py.orig       2011-05-18 04:48:47.000000000 -0400
+++ minerutil/RPCProtocol.py    2011-05-30 05:20:05.812351055 -0400
@@ -349,11 +349,12 @@
         if longpoll:
             lpParsed = urlparse.urlparse(longpoll[0])
             urlParsed = urlparse.urlparse(self.url)
-            lpURL = '%s://%s:%d%s' % (
+            lpURL = '%s://%s:%d%s%s' % (
                 lpParsed.scheme or urlParsed.scheme,
                 lpParsed.hostname or urlParsed.hostname,
                 (lpParsed.port if lpParsed.hostname else urlParsed.port) or 80,
-                lpParsed.path)
+                lpParsed.path,
+               '?' + lpParsed.query if lpParsed.query else '')
             if self.longPoller and self.longPoller.url != lpURL:
                 self.longPoller.stop()
                 self.longPoller = None
member
Activity: 83
Merit: 10
Just tried to connect to deepbit.net and tada..

Code:
[30/05/2011 10:55:10] Connected to server
[348.31 Mhash/sec] [0 Accepted] [0 Rejected] [RPC (+LP)]Unhandled Error
Traceback (most recent call last):
  File "twisted\internet\tcp.pyc", line 529, in connectionLost

  File "minerutil\_newclient3420.pyc", line 826, in dispatcher

  File "minerutil\_newclient3420.pyc", line 1434, in _connectionLost_WAITING

  File "minerutil\_newclient3420.pyc", line 1363, in _disconnectParser

--- ---
  File "minerutil\_newclient3420.pyc", line 494, in connectionLost

  File "twisted\web\http.pyc", line 1366, in noMoreData

  File "minerutil\_newclient3420.pyc", line 409, in _finished

  File "minerutil\_newclient3420.pyc", line 1337, in _finishResponse

exceptions.AttributeError: 'NoneType' object has no attribute 'connHeaders'

It got right back to track just a second after the error..
newbie
Activity: 22
Merit: 0
[719 Accepted] [56 Rejected]

Is this normal?
newbie
Activity: 28
Merit: 0
(remove FASTLOOP and boost aggression to 11 or 12 for a dedicated machine)
FASTLOOP is enabled by default in recent Phoenix versions and one must specify FASTLOOP=false in order to disable it.
member
Activity: 98
Merit: 10
whenever i try to run phoenix miner it just closes its self a split second after i run it, what am i doing wrong?

Open a command window and execute phoenix from a command line and you will see the error it is giving you.

Here is what I use for my workstation that must be responsive (remove FASTLOOP and boost aggression to 11 or 12 for a dedicated machine):

Quote
@ECHO OFF

SET DRIVE=D:
SET WORKINGDIR=D:\Bitcoin\phoenix
SET PHOENIX=phoenix.exe
SET USERNAME=xxxxxx
SET PASSWORD=xxxxxxx
SET SITE=btcmine.com
REM SET USERNAME=xxxxxx
REM SET PASSWORD=xxxxxx
REM SET SITE=pit.deepbit.net
SET PORT=8332
SET OPTIONS=-k poclbm DEVICE=0 VECTORS BFI_INT FASTLOOP WORKSIZE=128 AGGRESSION=9

%DRIVE%
CD %WORKINGDIR%
start %PHOENIX% -u http://%USERNAME%:%PASSWORD%@%SITE%:%PORT%/ %OPTIONS%

Note that I leave pools that I use commented out so that I can change from one to the other if I want too [for testing or because one is down, or whatever reason].  I should probably pass an argument to "start" so that the original command window doesn't popup, but it doesn't bother me enough to change it.
full member
Activity: 140
Merit: 100
Hello,
Is there any way to include special characters in the http username string. In poclbm --user "x;y" works but "http://x;y@hostname/" does not. I also tried "http://x%3by@hostname/" but no luck there either.
Pages:
Jump to: