ethminer 0.15.0.dev11 Json::LogicError for https://www.f2pool.com/help/?

Created on 23 May 2018  Â·  12Comments  Â·  Source: ethereum-mining/ethminer

Hey all
0.14.0.dev3 -SP 1 -S ${ETHPOOL} -O ${ETHADDR}.${WORK} work well,
But 0.15.0.dev11 -P stratum+tcp://${ETHADDR}@${ETHPOOL}/${WORK}/${EMAIL} can't work!

    -SP, --stratum-protocol <n> Choose which stratum protocol to use:
        0: official stratum spec: ethpool, ethermine, coinotron, mph, nanopool (default)
        1: eth-proxy compatible: dwarfpool, f2pool, nanopool (required for hashrate reporting to work with nanopool)
        2: EthereumStratum/1.0.0: nicehash

ethminer does not support "getwork" mode. The non eth-proxy compatible protocol is inefficient. It is recommended to join eth-proxy.

# ./ethminer --farm-recheck 200 -HWMON 1 -RH -G -P stratum+tcp://${ETHADDR}@${ETHPOOL}/${WORK}/${EMAIL} --api-port ${APIPORT}

  m  08:53:56|ethminer|  ethminer 0.15.0.dev11
  m  08:53:56|ethminer|  Build: linux / release
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Found suitable OpenCL device [ Ellesmere ] with 4281331712  bytes of GPU memory
  ℹ  08:53:56|ethminer|  Selected pool eth.f2pool.com:8080
  m  08:53:56|ethminer|  not-connected
  ℹ  08:53:56|stratum |  Trying 116.211.169.162:8080 ...
  ℹ  08:53:56|stratum |  Connected to eth.f2pool.com  [116.211.169.162:8080]
  ℹ  08:53:56|stratum |  Spinning up miners...
 cl  08:53:56|cl-0    |  No work. Pause for 3 s.
 cl  08:53:56|cl-1    |  No work. Pause for 3 s.
 cl  08:53:56|cl-2    |  No work. Pause for 3 s.
 cl  08:53:56|cl-3    |  No work. Pause for 3 s.
  m  09:06:05|ethminer|  Speed   0.00 Mh/s    gpu/0  0.00 0C 0%   gpu/1  0.00 0C 0%   gpu/2  0.00 0C 0%   gpu/3  0.00 0C 0%   gpu/4  0.00 0C 0%   gpu/5  0.00 0C 0%   gpu/6  0.00 0C 0%   gpu/7  0.00 0C 0%   [A0+0:R0+0:F0] Time: 00:00
 cl  09:06:07|cl-1    |  No work. Pause for 3 s.
 cl  09:06:07|cl-0    |  No work. Pause for 3 s.
 cl  09:06:07|cl-3    |  No work. Pause for 3 s.
 cl  09:06:07|cl-2    |  No work. Pause for 3 s.
 cl  09:06:07|cl-4    |  No work. Pause for 3 s.
 cl  09:06:07|cl-5    |  No work. Pause for 3 s.
 cl  09:06:07|cl-7    |  No work. Pause for 3 s.
 cl  09:06:07|cl-6    |  No work. Pause for 3 s.
terminate called after throwing an instance of 'Json::LogicError'
  what():  Value is not convertible to bool.
Aborted

Most helpful comment

I am working on loosing some checks to allow pools crap.

All 12 comments

/cc @smurfy

0.14.0.dev3 -SP 1 -S ${ETHPOOL} -O ${ETHADDR}.${WORK} work well,
But 0.15.0.dev11 -P stratum+tcp://${ETHADDR}@${ETHPOOL}/${WORK}/${EMAIL} can't work!

The equivalent of -SP1 for 0.15.x is -P stratum1+tcp:// (note the "1")

Thus this

-SP 1 -S ${ETHPOOL} -O ${ETHADDR}.${WORK} work well,

translate into this

-P stratum1+tcp://${ETHADDR}.${WORK}@${ETHPOOL}

@AndreaLanfranchi && @smurfy
Use stratum1+tcp://${ETHADDR}.${WORK}@${ETHPOOL}
Get below error

 ℹ  12:00:48|stratum |  Selected pool eth.f2pool.com:8080
  ℹ  12:00:48|stratum |  Trying 116.211.169.162:8080 ...
  ℹ  12:00:48|stratum |  Connected to eth.f2pool.com  [116.211.169.162:8080]
  ℹ  12:00:48|stratum |  Spinning up miners...
 cl  12:00:48|cl-0    |  No work. Pause for 3 s.
 cl  12:00:48|cl-1    |  No work. Pause for 3 s.
 cl  12:00:48|cl-2    |  No work. Pause for 3 s.
 cl  12:00:48|cl-3    |  No work. Pause for 3 s.
 cl  12:00:48|cl-4    |  No work. Pause for 3 s.
 cl  12:00:48|cl-5    |  No work. Pause for 3 s.
 cl  12:00:48|cl-6    |  No work. Pause for 3 s.
 cl  12:00:48|cl-7    |  No work. Pause for 3 s.
  ✘  12:00:48|stratum |  Pool sent an invalid jsonrpc (v2) response ...
  ✘  12:00:48|stratum |  Do not blame ethminer for this. Ask pool devs to honor http://www.jsonrpc.org/specification
  ✘  12:00:48|stratum |  Disconnecting ...
  ℹ  12:00:48|stratum |  Disconnected from eth.f2pool.com  [116.211.169.162:8080]
  ℹ  12:00:48|stratum |  Shutting down miners...

@AndreaLanfranchi @smurfy would be good to dump the invalid JSON-RPC package in logs to have the proof the pool misbehaves.

Here is the bad response from "f2pool" at login.

{
    "error" : null,
    "id" : 1,
    "jsonrpc" : "2.0",
    "result" : true
}

As clearly stated by JsonRpc 2.0 error member MUST NOT exist if there was no error triggered during invocation. Here, instead, they present error member to null.

We have to manage an interpretative extension to work with this rubbish.
If member is present but valued to null then consider it not present. Which is horrible as the same logic may be applied to the result member where a response "null" may be acceptable.

@smurfy @jean-m-cyr @chfast have any idea.

I'm not really up to speed on this json parsing stuff. But I noticed a similar (no work received) issue at coinfoundry.org, one of the pools I use for stratum2 tests. It had previously worked fine.

I don't think we can force the pools to be absolutely perfect with respect to protocol... that would be like the tail wagging the dog!

I am working on loosing some checks to allow pools crap.

Addressed in #1181

@AndreaLanfranchi
Sorry seems now miningpoolhub.com not working:
Starting
./ethminer --cuda --http-port 3334 --HWMON 0 -P stratum1+tcp://MY_SECRET_USERNAME.WORKERNAME:[email protected]:20535 -v 9

Results in:

  m  08:34:45|ethminer.out|  ethminer 0.15.0.dev11-57+commit.47fe3fda
  m  08:34:45|ethminer.out|  Build: linux / release
 cu  08:34:46|ethminer.out|  Using grid size 8192 , block size 128
  m  08:34:46|ethminer.out|  not-connected
  ℹ  08:34:46|ethminer.out|  Starting web server on port 3334
  ℹ  08:34:46|main    |  Selected pool europe.ethash-hub.miningpoolhub.com:20535
  ℹ  08:34:46|stratum |  Trying 35.156.160.57:20535 ...
  ℹ  08:34:46|stratum |  Connected to europe.ethash-hub.miningpoolhub.com  [35.156.160.57:20535]
  ℹ  08:34:46|stratum |  Spinning up miners...
  ℹ  08:34:46|cuda-0  |  No work. Pause for 3 s
......
  ℹ  08:34:46|cuda-7  |  No work. Pause for 3 s.
  ℹ  08:34:46|stratum |  {
        "id" : 1,
        "method" : "eth_submitLogin",
        "params" : 
        [
                "MY_SECRET_USERNAME"
        ],
        "worker" : "WORKERNAME"
}
  ℹ  08:34:49|cuda-0  |  No work. Pause for 3 s.
......
  ℹ  08:34:55|cuda-6  |  No work. Pause for 3 s.
  m  08:34:56|ethminer.out|  Speed   0.00 Mh/s    gpu/0  0.00 0C 0%   gpu/1  0.00 0C 0%   gpu/2  0.00 0C 0%   gpu/3  0.00 0C 0%   gpu/4  0.00 0C 0%   gpu/5  0.00 0C 0%   gpu/6  0.00 0C 0%   gpu/7  0.00 0C 0%   [A0+0:R0+0:F0] Time: 00:00
  ℹ  08:34:58|cuda-0  |  No work. Pause for 3 s.
......
  ℹ  08:35:01|cuda-1  |  No work. Pause for 3 s.
  ℹ  08:35:01|stratum |  {
        "id" : null,
        "method" : "mining.notify",
        "params" : 
        [
                "130f",
                "0x96690dd532f738356c386cd1b3d78558a1aab0d0201bd852d31d88343acd6d57",
                "0x7538728108738be6e9c6144f1b4c22b5fc45e645bf474d84a4d6ae0fb0e71f59",
                "0x00000000ffb34c02420e9948eacd78cf33b059a88ade1ff0614f7f3c303cf3a7",
                true
        ]
}
  ✘  08:35:01|stratum |  Pool sent an invalid jsonrpc message ...
  ✘  08:35:01|stratum |  Do not blame ethminer for this. Ask pool devs to honor http://www.jsonrpc.org/ specifications 
  ✘  08:35:01|stratum |  Disconnecting ...
  ℹ  08:35:01|main    |  Disconnected from europe.ethash-hub.miningpoolhub.com  [35.156.160.57:20535]
  ℹ  08:35:02|main    |  Selected pool europe.ethash-hub.miningpoolhub.com:20535

As it seems pool sends "id" : null :-1:

@AndreaLanfranchi Great, ethminer works on f2pool again, Thanks a lot.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

phalexo picture phalexo  Â·  5Comments

MaynardMiner picture MaynardMiner  Â·  5Comments

ibmua picture ibmua  Â·  6Comments

Penziplays picture Penziplays  Â·  5Comments

bartocc picture bartocc  Â·  3Comments