Pages:
Author

Topic: Pushpool - Tech Support - page 23. (Read 135232 times)

full member
Activity: 120
Merit: 100
June 14, 2011, 01:20:27 AM
I have pushpool up and running a long with blkmond it finds a new block just fine

"New block noticed, sending SIGUSR1 signal to PID 13697"

but none of the miners on the pushpool server get a LP message, anyone else ever run into this issue?


Update:

Just had to restart all of my miners....made it much harder then it was.


anyways, here is a quick guide to blkmond


make a new file such blkmond.conf

put

host=127.0.0.1
port=8333
pid=/tmp/pushpoold.pid

*note*
port is not for RPC port.

now just do

./blkmond blkmond.conf

legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
June 13, 2011, 05:13:33 PM
can anyone tell me how to use blkmon? What port should I use? (i'm using server.json from 1st page) How can I sure that long polling is active and working properly? Coz I have abot 4% stale blocks

I know this doesn't really help now but I'll be posting up a blkmond part of the tutorial soon, I haven't looked it my self but from what i read they said you open it up and configure the variables to your needs and then you run it. it might have a help feature if you try running blkmond --help
Thanks Stay Tuned!
newbie
Activity: 10
Merit: 0
June 13, 2011, 08:15:07 AM
can anyone tell me how to use blkmon? What port should I use? (i'm using server.json from 1st page) How can I sure that long polling is active and working properly? Coz I have abot 4% stale blocks
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
June 13, 2011, 12:07:33 AM
the pin cannot start with 0. if you try it throws invalid pin. probably because whatever command php uses to determine the length cuts leading zeros.
bug just cost me a pool worker :-(

in register.php (onyl one i looked at) look for this section
Code:
$authPin        = (int) $_POST["authPin"];

change to:
Code:
$authPin        = (string) $_POST["authPin"];

look for:
Code:
//valid date authpin is valid

change the block under it to read:
Code:
//valid date authpin is valid
                        if(strlen($authPin) >= 4){
                                if(!is_numeric($authPin)){
                                        $validRegister = 0;
                                        $returnError .= " | Not a valid authpin";
                                }
                        }else{
                                $validRegister = 0;
                                $returnError .= " | Authorization pin number is not valid";
                        }


verified myself this time.  Roll Eyes


I think I just realised you are either using a really old version or you downloaded a custom version of my script. Please try the updated register.php file and get back to me Smiley
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
June 12, 2011, 11:42:39 PM
I'm sorry but we are all victims of misinterpretation and it is best to realise that in order to have good tech support is to keep the support going. I'm not blaming anyone It just helps if we keep it this way in this thread. Thanks Cheesy
newbie
Activity: 28
Merit: 0
June 12, 2011, 11:59:01 AM
genewitch - pushpool has never calculated hashrate. I don't understand how you even had this idea in the first place.

pushpool was not putting anything in the database, just reading from it. Therefore every other piece of software that relied on the shares table to be updated by pushpoold was not calculating the hashrate, or activity.

Picking one part of my statement that is incorrect and lambasting it without acknowledging the real problem is called the strawman fallacy.

I got it working (there was a bug somewhere in the pushpoold code, haven't diffed everything to figure out where yet) - and i will write a guide that uses the git snapshot i have as a base.

It just took 12 hours on my part and a lot of "works for everyone else!!!!!!111" from others.

I'm still glad the software exists, though.
full member
Activity: 126
Merit: 100
June 12, 2011, 09:50:41 AM
genewitch - pushpool has never calculated hashrate. I don't understand how you even had this idea in the first place.
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
June 12, 2011, 04:54:38 AM
the pin cannot start with 0. if you try it throws invalid pin. probably because whatever command php uses to determine the length cuts leading zeros.

Thanks for the bug report ill have that fix uploaded very soon. On a features note im still on schedule i just got my 6990 so trying to ge that running so i can get back to work on the features like worker graphs, blog updates editor, and i still have to test out a potential bug in the blockfound page.

Thanks for everyone patience in this down time
don't use the patch i typed up there it doesn't work.
use this patchfile
Code:
55c55
< $authPin = (int) $_POST["authPin"];
---
> $authPin = (string) $_POST["authPin"];
89c89
< if(!is_int($authPin)){
---
> if(!is_numeric($authPin)){

 Sad Sad Sad
pushpulld isn't updating anything in the mysql database, such as shares, active column in the pool_worker table, hashrate, etc. I haven't gone through everything but as far as i can tell it's not doing any updates of the tables. Any way to debug this?

I have a question for you, where are you getting your hashrates for you tend to mention this alot, Im so confused
newbie
Activity: 28
Merit: 0
June 12, 2011, 01:34:22 AM
for those hitting my errors earlier:

use these command to pull the latest source for pushpool

git clone https://github.com/jgarzik/pushpool.git
cd pushpool
./autogen.sh
./configure
make
sudo make install


setup your server.json properly, make sure you add
Code:
"sharelog" : true,
to the "database" section.

start pushpoold. handle your business.

*autogen.sh fails on EC2 ubuntu natty narwhal, you have to
Code:
apt-get install automake
to get aclocal!
newbie
Activity: 28
Merit: 0
June 11, 2011, 10:34:26 PM
the pin cannot start with 0. if you try it throws invalid pin. probably because whatever command php uses to determine the length cuts leading zeros.

Thanks for the bug report ill have that fix uploaded very soon. On a features note im still on schedule i just got my 6990 so trying to ge that running so i can get back to work on the features like worker graphs, blog updates editor, and i still have to test out a potential bug in the blockfound page.

Thanks for everyone patience in this down time
don't use the patch i typed up there it doesn't work.
use this patchfile
Code:
55c55
< $authPin = (int) $_POST["authPin"];
---
> $authPin = (string) $_POST["authPin"];
89c89
< if(!is_int($authPin)){
---
> if(!is_numeric($authPin)){

 Sad Sad Sad
pushpulld isn't updating anything in the mysql database, such as shares, active column in the pool_worker table, hashrate, etc. I haven't gone through everything but as far as i can tell it's not doing any updates of the tables. Any way to debug this?
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
June 11, 2011, 09:35:01 PM
the pin cannot start with 0. if you try it throws invalid pin. probably because whatever command php uses to determine the length cuts leading zeros.
bug just cost me a pool worker :-(

in register.php (onyl one i looked at) look for this section

 //valid date authpin is valid
                        if($authPin > 9999){
                                if(!is_int($authPin)){
                                        $validRegister = 0;
                                        $returnError .= " | Not a valid authpin";
                                }
                        }else{
                                $validRegister = 0;
                                $returnError .= " | Authorization pin number is not valid";
                        }

change the strlen($authpin) >=4 to what i put there so it looks just like that.

In lieu, another suggestion was strlen(('x' + $authpin) -1)

Thanks for the bug report ill have that fix uploaded very soon. On a features note im still on schedule i just got my 6990 so trying to ge that running so i can get back to work on the features like worker graphs, blog updates editor, and i still have to test out a potential bug in the blockfound page.

Thanks for everyone patience in this down time
newbie
Activity: 8
Merit: 0
newbie
Activity: 28
Merit: 0
June 11, 2011, 09:00:11 PM
the pin cannot start with 0. if you try it throws invalid pin. probably because whatever command php uses to determine the length cuts leading zeros.
bug just cost me a pool worker :-(

in register.php (onyl one i looked at) look for this section
Code:
$authPin        = (int) $_POST["authPin"];

change to:
Code:
$authPin        = (string) $_POST["authPin"];

look for:
Code:
 //valid date authpin is valid

change the block under it to read:
Code:
//valid date authpin is valid
                        if(strlen($authPin) >= 4){
                                if(!is_numeric($authPin)){
                                        $validRegister = 0;
                                        $returnError .= " | Not a valid authpin";
                                }
                        }else{
                                $validRegister = 0;
                                $returnError .= " | Authorization pin number is not valid";
                        }


verified myself this time.  Roll Eyes
newbie
Activity: 8
Merit: 0
June 11, 2011, 08:59:37 PM
YAY! Thanks dude!  Cheesy

But now im stucked as you... Grin

Seems that we have the same problems! LOL

BTW dude check your PM folder pls
newbie
Activity: 28
Merit: 0
June 11, 2011, 06:55:55 PM
pushpool is not setting mysql pool_worker "active" and hashrate. pushpool is working, because it accepts the login i gave it and throws client errors if i use anything else.
Pushpool is also not updated the "shares" table with any data, it says it's an empty set.
Code:
mysql> select * from sc.pool_worker;
+----+------------------+-------------+----------+--------+----------+
| id | associatedUserId | username    | password | active | hashrate |
+----+------------------+-------------+----------+--------+----------+
|  1 |                1 | genewitch.1 | x        |      0 |        0 |
+----+------------------+-------------+----------+--------+----------+
1 row in set (0.00 sec)

mysql> select * from sc.shares;
Empty set (0.00 sec)
Do i need to write the logic to set these, or should pushpoold be doing this itself? Please advise! :-D

edit: /tmp/shares.log is full of stuff:
Code:
[2011-06-12 00:30:9.000529] ::ffff:76.91.146.36 genewitch.1 Y - - 000000011023d492df81b494de90f30e854e953d1e72515dad22dd21000013a800000000633913820a277592654e47a21fe21701c20f542b45b0c2c345cea70e66c5ba204df4088e1a1d932f5e7ff9ff000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000
[2011-06-12 00:30:12.190757] ::ffff:76.91.146.36 genewitch.1 Y - - 000000011023d492df81b494de90f30e854e953d1e72515dad22dd21000013a800000000633913820a277592654e47a21fe21701c20f542b45b0c2c345cea70e66c5ba204df408911a1d932f073e1230000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000
So obviously something is going wrong somewhere in the database calls. I'd like to know if i screwed something up or if there's something i can help patch. I know it is a weekend, though, so i'll just grin and bear it for now.

edit: my miner has been running ~300MH/s for hours now, and has submitted nearly a thousand shares (and they were accepted) - but this isn't reflected anywhere in the database. Is this a privilege setting or something?

I have exactly the same problem in above post!
Please tell me what is wrong?

Thanks

Actually it resolved itself, bitcoind had to run for about 20 minutes before it finally stopped giving upstream RPC errors and connection lost in the client.



Jun 11 05:02:55 ip-10-124-17-59 pushpoold[18787]: tcp socket: Address family not supported by protocol


How did you resolved this error?

Stopped using gentoo and switched to ubuntu. It has something to do with ipv6, although on gentoo i changed USE="-ipv6 ipv4" and did emerge -DN @world and it did not fix it.
edit to ^: It's a gentoo issue 90% and the code in pushpool 10% because of the way that it gets a socket. I am not a  C programmer. I cannot patch this while ensuring it works for everyone.

Thanks to the developers for making something like this that is free and works at all. I couldn't have done it, that's for sure.
newbie
Activity: 3
Merit: 0
June 11, 2011, 04:54:57 PM

Jun 11 05:02:55 ip-10-124-17-59 pushpoold[18787]: tcp socket: Address family not supported by protocol


How did you resolved this error?
newbie
Activity: 8
Merit: 0
June 11, 2011, 04:45:22 PM
I have exactly the same problem in above post!
Please tell me what is wrong?

Thanks
newbie
Activity: 28
Merit: 0
June 11, 2011, 02:17:51 PM
ignore my earlier plea for help, now pushpoold is starting, and bitcoind is running.
i am getting ustream RPC error on the miner, and
Code:
JSON protocol request:
{"method": "getwork", "params": [], "id":26}

* About to connect() to 127.0.0.1 port 8332 (#0)
*   Trying 127.0.0.1... * TCP_NODELAY set
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 8332 (#0)
* Server auth using Basic with user 'rpcproxy'
> POST / HTTP/1.1
Authorization: Basic cnBjcHJveHk6bG9vcHAwMGxQdXNo
Host: 127.0.0.1:8332
Accept: */*
Accept-Encoding: deflate, gzip
Content-type: application/json
Content-Length: 46

* The requested URL returned error: 500
* Closing connection #0

server.json
Code:
{
        # network ports
        "listen" : [
                # binary protocol (default), port 8336
#               { "port" : 8336 },

                # HTTP JSON-RPC protocol, port 8337
                { "port" : 8337, "protocol" : "http-json" },

                # HTTP JSON-RPC protocol, port 8339,
                # with trusted proxy appserver.example.com forwarding
                # requests to us
                { "port" : 8339, "protocol" : "http-json",
                  "proxy" : "derp.com" },

                # binary protocol, localhost-only port 8338
                { "host" : "127.0.0.1", "port" : 8338, "protocol" : "binary" }
        ],

        # database settings
        "database" : {
                "engine" : "mysql",

                # 'host' defaults to localhost, if not specified
#               "host" : "mysql.example.com",

                # 'port' uses proper default port for the DB engine,
                # if not specified
#               "port" : 12121,

                "name" : "sc",
                "username" : "pushpool",
                "password" : "hurpadurp",

                "stmt.pwdb" :
                  "SELECT password FROM pool_worker WHERE username = ?"
        },

        # cache settings
        "memcached" : {
                "servers" : [
                        { "host" : "127.0.0.1", "port" : 11211 }
                ]
        },

        "pid" : "/tmp/pushpoold.pid",

        # overrides local hostname detection
        "forcehost" : "localhost.localdomain",

        "log.requests" : "/tmp/request.log",
        "log.shares" : "/tmp/shares.log",

        # the server assumes longpolling (w/ SIGUSR1 called for each blk)
        "longpoll.disable" : false,

        # length of time to cache username/password credentials, in seconds
        "auth.cred_cache.expire" : 75,

        # RPC settings
        "rpc.url" : "http://127.0.0.1:8332/",
        "rpc.user" : "rpcproxy",
        "rpc.pass" : "hurpadurp",

        # rewrite returned 'target' to difficulty-1?
        "rpc.target.rewrite" : true

and bitcoin.conf
Code:
 # JSON-RPC options (for controlling a running Bitcoin/bitcoind process)

 # server=1 tells Bitcoin to accept JSON-RPC commands.
 server=1

 # You must set rpcuser and rpcpassword to secure the JSON-RPC api
 rpcuser=rpcproxy
 rpcpassword=hurpadurp

 # How many seconds bitcoin will wait for a complete RPC HTTP request.
 # after the HTTP connection is established.
 rpctimeout=30

 # By default, only RPC connections from localhost are allowed.  Specify
 # as many rpcallowip= settings as you like to allow connections from
 # other hosts (and you may use * as a wildcard character):
 #rpcallowip=[i][b]I ASSUME LOCALHOST IS ON BY DEFAULT[/b][/i]
 #rpcallowip=192.168.1.*

 # Listen for RPC connections on this TCP port:
 rpcport=8332

links http://127.0.0.1:8332/
user rpcproxy
pass hurpadurp
Code:
{"result":null,"error":{"code":-32700,"message":"Parse error"},"id":null}
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
June 11, 2011, 10:43:27 AM
It's recommended to save all the shares without deleting them from the main table? Because my pool will be public and the number of shares in the table could be very big. For now I'm storing into an another table the number of shares per round of each worker in a table and deleting all the shares in the main table. Am I doing it wrong?

Yes this is how MiningFarm#2 works, I found it efficient to have a current round shares table, and when the round is over move all the shares to a history of shares table. Upon transferring to the history MF2 splits up the profit. You should check out my code in the cronjob folder a bunch of little tid bits like that
Mining Farm #2: http://forum.bitcoin.org/index.php?topic=10617.0
newbie
Activity: 22
Merit: 0
June 11, 2011, 10:13:03 AM
It's recommanded to save all the shares without deleting them from the main table? Because my pool will be public and the number of shares in the table could be very big. For now I'm storing into an another table the number of shares per round of each worker in a table and deleting all the shares in the main table. Am I doing it wrong?
Pages:
Jump to: