Pages:
Author

Topic: [ANN] Eloipool - FAST Python3 pool server software - GBT/stratum/dyntarget/proxy - page 13. (Read 123077 times)

member
Activity: 76
Merit: 10
everything look ok  now ( after comment TemplateChecks or  use  0.8.0.eligius  bitcoind branch )  but sometimes this message appears


Quote
2013-02-23 14:04:49,958 merkleMaker     INFO    New block: 00000000000002323fa1359645f9c26ec005792f9d463faa55931f32cde12020 (height: 222693; bits: 1a04985c)
2013-02-23 14:04:50,111 JSONRPCServer   INFO    Longpoll woke up 6 clients in 0.042 seconds
2013-02-23 14:04:50,126 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 485, in _updateMerkleTree_fromTS
    AcceptRatio = AcceptedScore / TotalScore
ZeroDivisionError: int division or modulo by zero

?

Quote
2013-02-23 16:14:17,978 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'cgminer 2.10.2', IP=::ffff:xx.xx.41.73): doJSON_submitblock['02000000d6b2ca723dd01ffffffff025d5988ac00000000', {}]
Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/home/xxxxx/jsonrpc_getblocktemplate.py", line 91, in doJSON_submitblock
    data = bytes.fromhex(data)
ValueError: non-hexadecimal number found in fromhex() arg at position 166

i think it is bug in cgminer 2.10.2 ?

Quote
2013-02-23 16:29:37,753 JSONRPCServer   INFO    Longpoll woke up 2 clients in 0.272 seconds
2013-02-23 16:30:45,122 merkleMaker     ERROR   Upstream 'primary' rejected proposed block from 'primary': stale-prevblk
2013-02-23 16:30:45,132 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template
?



and in stratum
Quote
2013-02-23 14:33:47,374 merkleMaker     WARNING Transaction-longpoll requested 22 seconds ago, and still not ready. Is your server fast enough to keep up with your configured WorkQueueSizeRegular maximum? (doing longpoll merkle roots)
2013-02-23 14:33:47,374 merkleMaker     WARNING Haven't updated the merkle tree in at least 22 seconds! Is your server fast enough to keep up with your configured work queue minimums? (doing longpoll merkle roots)
2013-02-23 14:33:49,320 JSONRPCServer   INFO    Nobody to longpoll
2013-02-23 14:34:26,101 StratumServer   ERROR   Traceback (most recent call last):
  File "/home/yyyyyyy/networkserver.py", line 413, in serve_forever
    o.handle_read()
  File "/home/yyyyy/networkserver.py", line 59, in handle_read
    self.handle_readbuf()
  File "/homeyyyyy/networkserver.py", line 111, in handle_readbuf
    self.found_terminator()
  File "/home/yyyyyy/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 32: ordinal not in range(128)


legendary
Activity: 2576
Merit: 1186
that is true, a have add commas, and now
i get this error

Quote
>>> 2013-02-22 22:53:35,380     merkleMaker     INFO    New block: 00000000000004509071260531df744090422d372d706cee907b2b5f2be8b8ff (height: 222598; bits: 1a04985c)
2013-02-22 22:53:35,382 JSONRPCServer   INFO    Waiting 14.1 seconds to longpoll
2013-02-22 22:53:35,450 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxx/merklemaker.py", line 636, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 481, in _updateMerkleTree_fromTS
    (AcceptedScore, TotalScore) = self._CheckTemplate(newMerkleTree, TS)
  File "/home/xxx/merklemaker.py", line 430, in _CheckTemplate
    propose = caccess.getblocktemplate(ProposeReq)
  File "/home/xxx/jsonrpc/authproxy.py", line 106, in __call__
    raise JSONRPCException(resp['error'])
jsonrpc.authproxy.JSONRPCException
Probably your bitcoind is missing BIP 23 Proposal support.
There is a pull request for bitcoind here. It's also included in the 0.6.0.eligius and 0.8.0.eligius miner releases of bitcoind.
Alternatively, it should be safe to use Eloipool without any TemplateChecks. This is only used to guard against unknown bugs in block creation.
member
Activity: 76
Merit: 10
that is true, a have add commas, and now
i get this error

Quote
>>> 2013-02-22 22:53:35,380     merkleMaker     INFO    New block: 00000000000004509071260531df744090422d372d706cee907b2b5f2be8b8ff (height: 222598; bits: 1a04985c)
2013-02-22 22:53:35,382 JSONRPCServer   INFO    Waiting 14.1 seconds to longpoll
2013-02-22 22:53:35,450 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxx/merklemaker.py", line 636, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 481, in _updateMerkleTree_fromTS
    (AcceptedScore, TotalScore) = self._CheckTemplate(newMerkleTree, TS)
  File "/home/xxx/merklemaker.py", line 430, in _CheckTemplate
    propose = caccess.getblocktemplate(ProposeReq)
  File "/home/xxx/jsonrpc/authproxy.py", line 106, in __call__
    raise JSONRPCException(resp['error'])
jsonrpc.authproxy.JSONRPCException
legendary
Activity: 2576
Merit: 1186
this error still appears , just after starting the program,

Code:
>>> Traceback (most recent call last):
  File "./eloipool.py", line 909, in
    MM.start()
  File "/home/xxxxxxxx/merklemaker.py", line 685, in start
    self._prepare()
  File "/home/xxxxxxxx7/merklemaker.py", line 117, in _prepare
    URINamePair(TS, 'TemplateSources[%u]' % (i,))
  File "/home/xxxxxxxx/merklemaker.py", line 104, in URINamePair
    a['name'] = URI2Name.get(a['uri'], defname)
TypeError: string indices must be integers


 and  the program stops

i send config.py to PM  (pastebin )

is it a problem with configuration ? i use the same settings in the  previous version .
Check that all your option lists (especially TemplateSources, TemplateChecks, and BlockSubmissions) have commas after every element (including the last!).
member
Activity: 76
Merit: 10
this error still appears , just after starting the program,

Code:
>>> Traceback (most recent call last):
  File "./eloipool.py", line 909, in
    MM.start()
  File "/home/xxxxxxxx/merklemaker.py", line 685, in start
    self._prepare()
  File "/home/xxxxxxxx7/merklemaker.py", line 117, in _prepare
    URINamePair(TS, 'TemplateSources[%u]' % (i,))
  File "/home/xxxxxxxx/merklemaker.py", line 104, in URINamePair
    a['name'] = URI2Name.get(a['uri'], defname)
TypeError: string indices must be integers


 and  the program stops

i send config.py to PM  (pastebin )

is it a problem with configuration ? i use the same settings in the  previous version .
legendary
Activity: 2576
Merit: 1186
When I start ./eloipool.py I get the error that the jsonrpc module isn't found.
That means the bitcoinrpc module isn't installed correctly.
hero member
Activity: 812
Merit: 587
Space Lord
Hey Luke-Jr. Trying to setup eloipool. Can you help me with my config.py?
When I start ./eloipool.py I get the error that the jsonrpc module isn't found.

Code:
    ### Settings relating to server identity
    
    # Name of the server
    ServerName = 'Private Eloipool'
    
    ### Settings relating to server scaling/load
    
    # Share hashes must be below this to be valid shares
    # If dynamic targetting is enabled, this is a minimum
    ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    
    # Automatically adjust targets per username
    # 0 = disabled
    # 1 = arbitrary targets
    # 2 = power of two difficulties (zero bit counts)
    DynamicTargetting = 0
    
    # How many shares per minute to try to achieve on average
    DynamicTargetGoal = 8
    
    # Number of seconds hashrate is measured over
    DynamicTargetWindow = 120
    
    # Minimum and maximum of merkle roots to keep queued
    WorkQueueSizeRegular = (0x100, 0x1000)
    
    # Minimum and maximum of BLANK merkle roots to keep queued
    # (used if we run out of populated ones)
    WorkQueueSizeClear = (0x1000, 0x2000)
    
    # Minimum and maximum of BLANK merkle roots to keep queued, one height up
    # (used for longpolls)
    WorkQueueSizeLongpoll = (0x1000, 0x2000)
    
    # How long to wait between getmemorypool updates normally
    MinimumTxnUpdateWait = 5
    
    # How long to wait between retries if getmemorypool fails
    TxnUpdateRetryWait = 1
    
    # How long to sleep in idle loops (temporary!)
    IdleSleepTime = 0.1
    
    ### Settings relating to reward generation
    
    # Address to generate rewards to
    TrackerAddr = 'MyAddress in an outside wallet on my home pc, not localhost'
    
    # Coinbaser command to control reward delegation
    # NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
    CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'
    
    ### Settings relating to upstream data providers
    
    # JSON-RPC servers to get block templates from
    # See https://en.bitcoin.it/wiki/BIP_0023#Logical_Services for key details
    TemplateSources = (
            {
                    'name': 'primary',
                    'uri': 'http://bitcoinrpc:PasswordInBitcoin.conf@localhost:8332',
                    'priority': 0,
                    'weight': 1,
            },
            {
                    'name': 'secondary',
                    'uri': 'http://bitcoinrpc:PasswordInbitcoin.conf@localhost:8332',
                    'priority': 1,
                    'weight': 1,
            },
    )
    
    # JSON-RPC servers to check block proposals with
    # If none provided, and selected source supports proposals, it alone will also
    # be used for checking
    #TemplateChecks = (
    #       {
    #               'name': 'primary',
    #               'uri': 'http://user:pass@localhost:8332',
    #              
    #               # If 'unanimous' is true, no template will be used if this node
    #               # rejects it
    #               'unanimous': False,
    #              
    #               # If check servers disagree on all templates, they will be scored and
    #               # the highest score will be used; 'weight' can be used to control the
    #               # scoring per-server
    #               'weight': 1.1,
    #       },
    #       {
    #               'name': 'secondary',
    #               'uri': 'http://user:pass@localhost:18332',
    #               'unanimous': False,
    #               'weight': 1,
    #       },
    #)
    #
    # JSON-RPC servers to submit found blocks to (when they meet the full target)
    # The specific TemplateSource that the block was based on will always be sent
    # the block first.
    # If setting is not specified, or None, full TemplateSources list will be used.
    # If an empty list, no extra submissions will be attempted.
    # If an empty list, and the block was found on a "clear" merkle root (not based
    # on any TemplateSource), the full TemplateSources list will be used.
    #BlockSubmissions = (
    #       {
    #               'name': 'primary',
    #               'uri': 'http://user:pass@localhost:8332',
    #       },
    #       {
    #               'name': 'secondary',
    #               'uri': 'http://user:pass@localhost:18332',
    #       }
    #)
    #
    # Templates will not be used unless they have an acceptance ratio above this
    # Range: 0.00 - 1.00
    MinimumTemplateAcceptanceRatio = 0
    
    # No template with a combined total score below this will be used
    MinimumTemplateScore = 1
    
    # Set to True if you want shares meeting the upstream target to wait for a
    # response from an upstream server before logging them. Otherwise, for such
    # shares, upstreamResult will always be True and upstreamRejectReason will
    # always be None. Note that enabling this may cause shares to be logged out of
    # order, or with the wrong timestamp (if your share logger uses the log-time
    # rather than share-time).
    DelayLogForUpstream = False
    
    # Bitcoin p2p server for announcing blocks found
    UpstreamBitcoindNode = ('127.0.0.1', 8333)  # testnet
    
    # Network ID for the primary blockchain
    # Other known network IDs can be found at:
    #     https://en.bitcoin.it/wiki/Protocol_specification#Message_structure
    UpstreamNetworkId = b'\xF9\xBE\xB4\xD9'  # testnet
    
    # Secret username allowed to use setworkaux
    #SecretUser = ""
    
    # URI to send gotwork with info for every share submission
    #GotWorkURI = ''
    
    # Share hashes must be below this to be submitted to gotwork
    GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    
    # Aim to produce blocks with transaction counts that are a power of two
    # This helps avoid any chance of someone abusing CVE-2012-2459 with them
    # 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
    POT = 2
    
    # Avoid mining feeless transactions except to satisfy POT
    # Note this only works if POT is in fact enabled in the first place
    Greedy = False
    
    ### Settings relating to network services
    # Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
    # IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
    
    # Addresses to listen on for JSON-RPC GBT/getwork server
    JSONRPCAddresses = (
            ('::ffff:MyServerIP', 1337),
    )
    
    # Addresses to listen on for Stratum mining server
    StratumAddresses = (
            ('', 3334),
    )
    
    # Addresses to listen on for Bitcoin node
    # Note this will only be used to distribute blocks the pool finds, nothing else
    BitcoinNodeAddresses = (
            ('', 8333),
    )
    
    # Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
    TrustedForwarders = ('::ffff:127.0.0.1',)
    
    
    # Logging of shares:
    #ShareLogging = (
    #       {
    #               'type': 'logfile',
    #               'filename': 'share-logfile',
    #               'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n",
    #       },
    #       {
    #               'type': 'sql',
    #               'engine': 'postgres',
    #               'dbopts': {
    #                       'host': 'localhost',
    #                       'database': 'pooldb',
    #                       'user': 'eloipool',
    #                       'password': 'somethingsecret',
    #               },
    #               'statement': "insert into shares (rem_host, username, our_result, upstream_result, reason, solution) values ({Q(remoteHost)}, {username}, {YN(not(rejectReason))}, {YN(upstreamResult)}, {rejectReason}, decode({solution}, 'hex'))",
    #       },
    #       {
    #               'type': 'sql',
    #               'engine': 'mysql',
    #               'dbopts': {
    #                       'host': 'localhost',
    #                       'db': 'pooldb',
    #                       'user': 'eloipool',
    #                       'password': 'somethingsecret',
    #               },
    #               'statement': "insert into shares (rem_host, username, our_result, upstream_result, reason, solution) values ({Q(remoteHost)}, {username}, {YN(not(rejectReason))}, {YN(upstreamResult)}, {rejectReason}, unhex({solution}))",
    #       },
    #       {
    #               'type': 'sql',
    #               'engine': 'sqlite',
    #               'dbopts': {
    #                       'database': 'share.db',
    #               },
    #               'statement': "insert into shares (remoteHost, username, rejectReason, upstreamResult, solution) values ({remoteHost}, {username}, {rejectReason}, {upstreamResult}, {solution})",
    #       },
    #)
    
    ### Settings related to poolserver logging
    
    # By default, significant events will be printed to the interactive console
    # You can customize your logging using either simple parameters, or Python's advanced logging framework
    # Note that using Python's logging framework will override the default console logging!
    
    # To simply log everything to the system log (syslog) as well:
    # LogToSysLog = True
    
    # To make a log file:
    # LogFile = 'filename.log'
    
    # For a rotating log file:
    LogFile = {
            'filename': 'eloipoollog.log',
            'when': 'midnight',
            'backupCount': 7,
    }
    # For details, see:
    # http://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler
legendary
Activity: 2576
Merit: 1186
Ok, i'm trying to get eloipool with litecoin, and i'm getting this error:

 python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 43, in
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/pi/eloipool/bitcoin/node.py", line 132, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)
How did you fix this?  I am getting the same error.  Thanks.
Eloipool doesn't support scamcoins like Litecoin.

If you're still getting the error anyway, it looks like it's probably from some ancient version of Python.
As the README clearly states, you need Python 3. To be more specific, I test under 3.1.
donator
Activity: 1055
Merit: 1020
legendary
Activity: 1357
Merit: 1004
Hi!
I have error when I trying start eloipool.py
root@feinman:~/eloipool# ./eloipool.py

>>> 2013-02-13 20:45:02,965   restoreState   INFO   Restoring saved state from 'eloipool.worklog' (24 bytes)
2013-02-13 20:45:02,982   restoreState   DEBUG   Skipping restore of expired workLog
2013-02-13 20:45:02,982   restoreState   INFO   State restored successfully
2013-02-13 20:45:02,982   restoreState   INFO   Total downtime: 8774.59 seconds
2013-02-13 20:45:20,433   merkleMaker   WARNING   clearMerkleRoots running out! only 0 left
2013-02-13 20:46:33,057   merkleMaker   CRITICAL   Traceback (most recent call last):
  File "/root/eloipool/merklemaker.py", line 501, in run
    self.merkleMaker_I()
  File "/root/eloipool/merklemaker.py", line 491, in merkleMaker_I
    self.merkleMaker_II()
  File "/root/eloipool/merklemaker.py", line 457, in merkleMaker_II
    return self.updateMerkleTree()
  File "/root/eloipool/merklemaker.py", line 274, in updateMerkleTree
    MP = self.access.getblocktemplate(self.GBTReq)
  File "/usr/local/lib/python3.1/dist-packages/jsonrpc/authproxy.py", line 96, in __call__
    httpresp = self.__conn.getresponse()
  File "/usr/lib/python3.1/http/client.py", line 1017, in getresponse
    response.begin()
  File "/usr/lib/python3.1/http/client.py", line 348, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.1/http/client.py", line 304, in _read_status
    line = str(self.fp.readline(), )
  File "/usr/lib/python3.1/socket.py", line 214, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

My config
http://pastebin.com/CtEEiSdj
hero member
Activity: 812
Merit: 587
Space Lord
Is the TrackerAddr a valid Bitcoin address.
Do 25 BTC of a solved block go on that address?
legendary
Activity: 2576
Merit: 1186
I will help in the development of eloipool, but I do not know python very well (and certainly not as good as Luke) , for now  I can help in testing

is it ok that stratum server reports different  difficult than client? i have send You PM with detailed description of this issue.
Some clients display truncated bdiff (what bitcoin uses) instead of pdiff (what mining pools traditionally use). Pdiff 1 is about 0.9999 bdiff (and similar for higher difficulties), so truncating as bdiff will show 1 less than the actual difficulty.

BFGMiner uses truncated pdiff, so it will show these correctly.
member
Activity: 76
Merit: 10
I will help in the development of eloipool, but I do not know python very well (and certainly not as good as Luke) , for now  I can help in testing

is it ok that stratum server reports different  difficult than client? i have send You PM with detailed description of this issue.
legendary
Activity: 1596
Merit: 1091
legendary
Activity: 2576
Merit: 1186
TrackerAddr and CoinbaserCmd are invalid. That's all that stands out..
member
Activity: 76
Merit: 10
Please pastebin your config file (minus passwords)


eloipool config.py

http://pastebin.com/XYyVuH99


bitcoind 1  (ver 0.7.2) - template

http://pastebin.com/7CWZ3Xit


bitcoind 2 (ver 3.2.4 )  - submit block

http://pastebin.com/ub3qAeLN


is it importent which bitcoind has --nolisten parametr ?  both will be ok ? (all is on one computer )




legendary
Activity: 2576
Merit: 1186
Please pastebin your config file (minus passwords)
member
Activity: 76
Merit: 10
Looks like you need to raise your fd limits (check out man ulimit), and double check your UpstreamURI (or TemplateSources in newer configs)

fd limits is ok (after increase limit and RELOG )

but still get this error

Quote
2013-02-10 14:05:42,145 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

2013-02-10 14:05:42,145 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

2013-02-10 14:05:42,162 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template


last version from git + login and pass copied from previous config  ?

it is first error message afret program start (no other before -such as "cant connect" etc )
legendary
Activity: 2576
Merit: 1186
Looks like you need to raise your fd limits (check out man ulimit), and double check your UpstreamURI (or TemplateSources in newer configs)
member
Activity: 76
Merit: 10
Thanks Luke-Jr Smiley for great  eloipool it is the best  the best software pool I have ever seen      ! and "It's Alive!!!" Smiley


i get this error ... is this normal ? what can cause this error  ?

Quote
2013-02-10 08:11:47,172 JSONRPCServer   INFO    Longpoll woke up xx clients in 0.009 seconds
Unhandled exception in thread started by >
Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 503, in run
  File "/home/xxxx/merklemaker.py", line 493, in merkleMaker_I
  File "/home/xxxx/merklemaker.py", line 471, in merkleMaker_II
  File "/home/xxxx/merklemaker.py", line 277, in updateMerkleTree
  File "/home/xxxx/jsonrpc/authproxy.py", line 95, in __call__
  File "/usr/lib/python3.1/http/client.py", line 932, in request
  File "/usr/lib/python3.1/http/client.py", line 970, in _send_request
  File "/usr/lib/python3.1/http/client.py", line 928, in endheaders
  File "/usr/lib/python3.1/http/client.py", line 782, in _send_output
  File "/usr/lib/python3.1/http/client.py", line 723, in send
  File "/usr/lib/python3.1/http/client.py", line 705, in connect
  File "/usr/lib/python3.1/socket.py", line 292, in create_connection
socket.gaierror: [Errno -5] No address associated with hostname

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.1/threading.py", line 516, in _bootstrap_inner
  File "/home/xxxx/merklemaker.py", line 505, in run
  File "/usr/lib/python3.1/traceback.py", line 269, in format_exc
  File "/usr/lib/python3.1/traceback.py", line 186, in format_exception
  File "/usr/lib/python3.1/traceback.py", line 75, in format_tb
  File "/usr/lib/python3.1/traceback.py", line 100, in extract_tb
  File "/usr/lib/python3.1/linecache.py", line 15, in getline
  File "/usr/lib/python3.1/linecache.py", line 41, in getlines
  File "/usr/lib/python3.1/linecache.py", line 132, in updatecache
IOError: [Errno 24] Too many open files: '/home/xxxx/merklemaker.py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.1/threading.py", line 489, in _bootstrap
  File "/usr/lib/python3.1/threading.py", line 529, in _bootstrap_inner
  File "/usr/lib/python3.1/traceback.py", line 269, in format_exc
  File "/usr/lib/python3.1/traceback.py", line 186, in format_exception
  File "/usr/lib/python3.1/traceback.py", line 75, in format_tb
  File "/usr/lib/python3.1/traceback.py", line 100, in extract_tb
  File "/usr/lib/python3.1/linecache.py", line 15, in getline
  File "/usr/lib/python3.1/linecache.py", line 41, in getlines
  File "/usr/lib/python3.1/linecache.py", line 132, in updatecache
IOError: [Errno 24] Too many open files: '/home/xxxx/merklemaker.py'


and this when i use sql mysql share login
Quote
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.1/dist-packages/pymysql/connections.py", line 734, in _connect
socket.gaierror: [Errno -5] No address associated with hostname

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 196, in _doJSON_i
  File "/home/xxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
  File "/home/xxxx/jsonrpc_getwork.py", line 79, in doJSON_submitwork
  File "/home/xxxx/eloipool9.py", line 461, in receiveShare
  File "/home/xxxx/sharelogging/sql.py", line 90, in logShare
  File "/usr/local/lib/python3.1/dist-packages/pymysql/__init__.py", line 93, in Connect
  File "/usr/local/lib/python3.1/dist-packages/pymysql/connections.py", line 575, in __init__
  File "/usr/local/lib/python3.1/dist-packages/pymysql/connections.py", line 744, in _connect
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (-5)")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 260, in handle_request
  File "/home/xxxx/jsonrpcserver.py", line 243, in doJSON
  File "/home/xxxx/jsonrpcserver.py", line 201, in _doJSON_i
  File "/usr/lib/python3.1/traceback.py", line 269, in format_exc
  File "/usr/lib/python3.1/traceback.py", line 186, in format_exception
  File "/usr/lib/python3.1/traceback.py", line 75, in format_tb
  File "/usr/lib/python3.1/traceback.py", line 100, in extract_tb
  File "/usr/lib/python3.1/linecache.py", line 15, in getline
  File "/usr/lib/python3.1/linecache.py", line 41, in getlines
  File "/usr/lib/python3.1/linecache.py", line 132, in updatecache
IOError: [Errno 24] Too many open files: '/usr/local/lib/python3.1/dist-packages/pymysql/connections.py'

During handling of the above exception, another exception occurred:


is it mean that someone open too much socket connections to server ? flood or something  ?
i get this error in every version eloipool


in last version i get this

Quote
2013-02-10 08:32:47,093 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

in new version i noticed that there  is new section TemplateSource and BlockSubmision , This is great, I think that this configuration is clearer than previous versions

if You can describe configuration in which you run your test it will be very usefull Smiley (eg. bincond ports and bitcoin.conf +  config.py )
Pages:
Jump to: