MoneroOcean / xmrig

Monero (rx/0, rx/wow, rx/loki, defyx, rx/arq, rx/sfx, rx/keva, cn/0, cn/1, cn/2, cn/r, cn/fast, cn/half, cn/xao, cn/rto, cn/rwz, cn/zls, cn/double, cn/gpu, cn-lite/0, cn-lite/1, cn-heavy/0, cn-heavy/tube, cn-heavy/xhv, cn-pico, cn-pico/tlo, argon2/chukwa, argon2/wrkz, astrobwt) CPU/GPU miner
https://moneroocean.stream
GNU General Public License v3.0
273 stars 86 forks source link

kawpow no suitable configuration found #59

Closed rfuegen closed 3 years ago

rfuegen commented 3 years ago

Describe the bug since one or two days, xmrig-mo performs a rebench, although "rebench-algo" is set to false in config. eventually, it hangs after/while kawpow benchmark (see below)

To Reproduce start XMRig/6.12.1-mo3 gcc/9.3.1 with config below. same error with XMRig/6.12.1-mo2

Expected behavior finish benchmarking, write benchmark results to config, start mining

Required data

Additional context Add any other context about the problem here.

config: { "api": { "id": null, "worker-id": null }, "http": { "enabled": false, "host": "127.0.0.1", "port": 0, "access-token": null, "restricted": true }, "autosave": true, "background": false, "colors": false, "title": true, "randomx": { "init": -1, "init-avx2": 0, "mode": "auto", "1gb-pages": false, "rdmsr": true, "wrmsr": true, "cache_qos": false, "numa": true, "scratchpad_prefetch_mode": 1 }, "cpu": { "enabled": true, "huge-pages": true, "huge-pages-jit": false, "hw-aes": null, "priority": null, "memory-pool": false, "yield": true, "asm": true, "argon2-impl": null, "astrobwt-max-size": 550, "astrobwt-avx2": false, "*": { "intensity": 1, "threads": 24, "affinity": -1 } }, "opencl": { "enabled": false, "cache": true, "loader": null, "platform": "AMD", "adl": true, "cn/0": false, "cn-lite/0": false, "panthera": false }, "cuda": { "enabled": false, "loader": null, "nvml": true, "cn/0": false, "cn-lite/0": false, "astrobwt": false, "panthera": false }, "log-file": null, "donate-level": 0, "donate-over-proxy": 1, "pools": [ { "algo": null, "coin": null, "url": "gulf.moneroocean.stream:10128", "user": "my wallet", "pass": "my host", "rig-id": null, "nicehash": false, "keepalive": true, "enabled": true, "tls": false, "tls-fingerprint": null, "daemon": false, "socks5": null, "self-select": null, "submit-to-origin": false } ], "retries": 5, "retry-pause": 5, "print-time": 60, "health-print-time": 60, "dmi": true, "syslog": false, "tls": { "enabled": false, "protocols": null, "cert": null, "cert_key": null, "ciphers": null, "ciphersuites": null, "dhparam": null }, "dns": { "ipv6": false, "ttl": 30 }, "user-agent": null, "verbose": 0, "watch": true, "rebench-algo": false, "bench-algo-time": 20, "algo-perf": {}, "pause-on-battery": false, "pause-on-active": false }

Spudz76 commented 3 years ago

Do not use "*" profile, let miner generate its own profiles.

"*" profile breaks things, such as enabling kawpow which would normally be autoconfigured as "off" for CPU because it's not supported.

I don't know where people are getting the "*" idea from, some horrible howto somewhere I guess?

rfuegen commented 3 years ago

looks like xmrig-mo is messing this up by itself:

create empty config.json: { "autosave": true, "cpu": true, "opencl": false, "cuda": false }

start from command line:

/xmrig-mo -u -o gulf.moneroocean.stream:10032 -c config.json -t 6 `

Am I doing something wrong here?

rfuegen commented 3 years ago

after some consideration: maybe the pool requests an algorithm (kawpow) that is not supported by xmrig-mo?

Spudz76 commented 3 years ago

No, I found where in the code it injects a "*" profile (and doesn't bother to also inject a "kawpow": false, to negate the one that shouldn't apply to "*" when in the CPU backend...)

Spudz76 commented 3 years ago

PR #60 fixes this issue.

rfuegen commented 3 years ago

there's another issue:

add "kawpow": false to config.json in the "cpu" part:

"cpu": {
    "enabled": true,
    "huge-pages": true,
    "huge-pages-jit": false,
    "hw-aes": null,
    "priority": null,
    "memory-pool": false,
    "yield": true,
    "asm": true,
    "kawpow": false,
    "argon2-impl": null,
    "astrobwt-max-size": 550,
    "astrobwt-avx2": false,
    "*": {
        "intensity": 1,
        "threads": 6,
        "affinity": -1
    }
}

run xmrig-mo with this config. it still fails at kawpow benchmark:

[2021-05-31 21:07:54.224] cpu READY threads 6/6 (6) huge pages 0% 0/6 memory 6144 KB (8 ms) [2021-05-31 21:08:04.225] benchmk Algo argon2/chukwav2 hashrate: 2415.433826 [2021-05-31 21:08:04.225] benchmk Algo kawpow Preparation [2021-05-31 21:08:04.225] cpu disabled (no suitable configuration found) [2021-05-31 21:08:04.227] cpu stopped (1 ms)

re-open config.json:

"cpu": {
    "enabled": true,
    "huge-pages": true,
    "huge-pages-jit": false,
    "hw-aes": null,
    "priority": null,
    "memory-pool": false,
    "yield": true,
    "asm": true,
    "argon2-impl": null,
    "astrobwt-max-size": 550,
    "astrobwt-avx2": false,
    "*": {
        "intensity": 1,
        "threads": 6,
        "affinity": -1
    }
}

kawpow: false is gone. I also tried to add it to the cpu / "*" part, but same effect.

either I'm doing this wrong (where exactly does kawpow: false need to be added?) or this is another bug (or a result of PR #60).

thanks.

Spudz76 commented 3 years ago

Did you apply the patch and recompile?

PR is not merged yet.

Quick method wget -qO- https://patch-diff.githubusercontent.com/raw/MoneroOcean/xmrig/pull/60.diff | patch -p1 while in the source root.

Spudz76 commented 3 years ago

Okay, now it's merged. Disregard manual patch test just pull current master.

hajes commented 3 years ago

I have always used official XMRIG wizard for generating initial config.json and never had issues on four different CPUs...do not forget 99.999% of "problems" are between chair and keyboard ;-)

rfuegen commented 3 years ago

looks good! benchmarking finished, kawpow: false is added to config. thanks! can be closed IMHO

Spudz76 commented 3 years ago

Go ahead and close it then... you opened it? :)