andru-kun / wildrig-multi

multi algo miner for AMD, NVIDIA and Intel gpu's
254 stars 51 forks source link

Wildrig crashes on a DASH address (Heavyhash, Zergpool) when run as a systemd service #106

Open Liniya opened 2 years ago

Liniya commented 2 years ago

Steps to reproduce:

  1. Create /etc/systemd/system/wildrig.service, replacing username/path as needed:
    
    [Unit]
    Description=Wildrig
    After=network.target

[Service] Type=simple User=username ExecStart=/home/username/Programs/wildrig/wildrig-multi -a heavyhash -o stratum+tcp://heavyhash.mine.zergpool.com:5137 -u XsP94KqaJhEbums6fyuz8RDeZqYsc1GKQW -p c=DASH,ID=MY_RIG

[Install] WantedBy=multi-user.target


2. `sudo systemctl daemon-reload`, `sudo systemctl start wildrig`
3. Do `systemctl status wildrig` after a couple of seconds. It will report that the service has failed.

`journalctl -b -p4`:

Dec 16 12:32:20 hikaru-pc systemd-coredump[6304]: [🡕] Process 6302 (wildrig-multi) of user 1000 dumped core.

                                              Found module [dso] without build-id.
                                              Found module linux-vdso.so.1 with build-id: fc0932250ec82a533fb89adf1ab0c5e4209ea233
                                              Stack trace of thread 6302:
                                              #0  0x00007f2d4adbad22 n/a ([dso] + 0xc05d22)

Dec 16 12:32:20 hikaru-pc systemd[1]: heavyhash.service: Main process exited, code=dumped, status=6/ABRT Dec 16 12:32:20 hikaru-pc systemd[1]: heavyhash.service: Failed with result 'core-dump'.



This exact command line works normally when run in a console.
When run as a systemd service, replacing the DASH address with any other string, it similarly runs as normal. It also works when an LTC address is used (with c=LTC).

Edit: I've tried another DASH address and it still crashes just the same, so the choice of address is not important, it would seem.
andru-kun commented 2 years ago

have you tried to escape pass? Probably some memory problem on miner side and it crashes at specific pass length. And if LTC works try to remove one symbol from ID, like -p c=DASH,ID=MYRIG

Liniya commented 2 years ago

Tried to remove the rig id part - no luck, still crashes. I think it really has something to do with the DASH address. If I literally replace it with an LTC address but keep c=DASH and everything else (even though this is incorrect, of course), the service runs fine.

andru-kun commented 2 years ago

this is kinda weird. And what if use DASH address but pass is c=LTC?

Liniya commented 2 years ago

Well, it seems like the title here should rather be a more generic 'Wildrig crashes with certain arguments when run as a systemd service'. Because just now I've tried it with an entirely unrelated command line for Raptoreum, something like this:

wildrig-multi --algo ghostrider --url stratum+tcps://rtm.suprnova.cc:4273 --user username --pass password

And it still crashes as a service (but works if this command is run in a regular terminal).

In any case, I think something must be definitely wrong with wildrig. I've created plenty of these services on my system (Manjaro KDE), everything works perfectly.

andru-kun commented 2 years ago

Yeah might be some problem with stack/memory corruption. Need to check that someday