Giter Club home page Giter Club logo

Comments (21)

iamchriswick avatar iamchriswick commented on August 16, 2024 1

http://IP_ADDR:8926/plotting shows the Plotman interface as expected, and so does http://IP_ADDR:8926/settings/plotting.

Seems to be a problem related to the summary page.

Logs

docker logs machinaris
Adding key at path: {/root/.chia/mnemonic.txt}
Traceback (most recent call last):
  File "/chia-blockchain/venv/bin/chia", line 33, in <module>
    sys.exit(load_entry_point('chia-blockchain', 'console_scripts', 'chia')())
  File "/chia-blockchain/chia/cmds/chia.py", line 77, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/chia-blockchain/chia/cmds/keys.py", line 52, in add_cmd
    mnemonic = Path(filename).read_text().rstrip()
  File "/usr/lib/python3.8/pathlib.py", line 1232, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/usr/lib/python3.8/pathlib.py", line 1218, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/usr/lib/python3.8/pathlib.py", line 1074, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/root/.chia/mnemonic.txt'
Added plot directory "/plots".
Starting in Plotter-only mode.  Run Plotman from either CLI or WebUI.
Configuring Chia...
Configuring Plotman...
Starting Machinaris...
Completed startup.  Browse to port 8926.
Adding key at path: {/root/.chia/mnemonic.txt}
Traceback (most recent call last):
  File "/chia-blockchain/venv/bin/chia", line 33, in <module>
    sys.exit(load_entry_point('chia-blockchain', 'console_scripts', 'chia')())
  File "/chia-blockchain/chia/cmds/chia.py", line 77, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/chia-blockchain/chia/cmds/keys.py", line 52, in add_cmd
    mnemonic = Path(filename).read_text().rstrip()
  File "/usr/lib/python3.8/pathlib.py", line 1232, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/usr/lib/python3.8/pathlib.py", line 1218, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/usr/lib/python3.8/pathlib.py", line 1074, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/root/.chia/mnemonic.txt'
Added plot directory "/plots".
Starting in Plotter-only mode.  Run Plotman from either CLI or WebUI.
Configuring Chia...
Configuring Plotman...
Starting Machinaris...
Completed startup.  Browse to port 8926.
Adding key at path: {/root/.chia/mnemonic.txt}
Traceback (most recent call last):
  File "/chia-blockchain/venv/bin/chia", line 33, in <module>
    sys.exit(load_entry_point('chia-blockchain', 'console_scripts', 'chia')())
  File "/chia-blockchain/chia/cmds/chia.py", line 77, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/chia-blockchain/chia/cmds/keys.py", line 52, in add_cmd
    mnemonic = Path(filename).read_text().rstrip()
  File "/usr/lib/python3.8/pathlib.py", line 1232, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/usr/lib/python3.8/pathlib.py", line 1218, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/usr/lib/python3.8/pathlib.py", line 1074, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/root/.chia/mnemonic.txt'
Added plot directory "/plots".
Starting in Plotter-only mode.  Run Plotman from either CLI or WebUI.
Configuring Chia...
Configuring Plotman...
Starting Machinaris...
Completed startup.  Browse to port 8926.
Adding key at path: {/root/.chia/mnemonic.txt}
Traceback (most recent call last):
  File "/chia-blockchain/venv/bin/chia", line 33, in <module>
    sys.exit(load_entry_point('chia-blockchain', 'console_scripts', 'chia')())
  File "/chia-blockchain/chia/cmds/chia.py", line 77, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/chia-blockchain/chia/cmds/keys.py", line 52, in add_cmd
    mnemonic = Path(filename).read_text().rstrip()
  File "/usr/lib/python3.8/pathlib.py", line 1232, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/usr/lib/python3.8/pathlib.py", line 1218, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/usr/lib/python3.8/pathlib.py", line 1074, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/root/.chia/mnemonic.txt'
Added plot directory "/plots".
Starting in Plotter-only mode.  Run Plotman from either CLI or WebUI.
Configuring Chia...
Configuring Plotman...
Starting Machinaris...
Completed startup.  Browse to port 8926.

Tried to start plotting and it works as expected :)

from machinaris.

guydavis avatar guydavis commented on August 16, 2024 1

Hi, this exact issue just happened on one my plotters (Windows) tonight. I accidentally pulled the log out from under a running plot job (from in the .machinaris/plotman/logs/ folder). When I did so, the main page broke due to bad parsing on my part. The plotman status CLI command was actually printing error info in its first lines as shown:

image

The second output is after I put the missing log file back, my plotman status command no longer had the error and my Machinaris /index page came back. Please check your plotman status output from in-container console.

Overall the fix for this bug is for me to tighten up the parsing of plotman status so web server doesn't face plant if the output contains a couple of error lines. Thanks for the report!

from machinaris.

guydavis avatar guydavis commented on August 16, 2024 1

Good day! Machinaris test version ghcr.io/guydavis/machinaris:test has re-worked this area of the code as part of adding support for a single WebUI to manage multiple workers on your LAN.

If you have the time/inclination, please test out this upcoming release and let me know if it corrects them problem outlined in this issue.

from machinaris.

guydavis avatar guydavis commented on August 16, 2024 1

Closing as v0.4.0 has been released. Thanks for the contribution!

While it may still be possible to see the generic Gunicorn web server error page shown above for other reasons such as overloaded server or other error, the specific error being discussed above is no longer possible in v0.4.0 as a plotter is managed via the controller's WebUI now. It's no longer possible to WebUI pages on a worker, just a redirect to the controller's WebUI.

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Hi, sorry to hear you encountered this error. I understand you have deployed Machinaris with mode=plotter Please share the full docker run or docker-compose you are using. Also, please share a full-window screenshot of browser page (showing location) when the error appears. Finally, please share you .machinaris/machinaris/logs/webui.log file by attaching to this issue. That should help me get to the root cause. Thanks!

from machinaris.

iamchriswick avatar iamchriswick commented on August 16, 2024

Docker Run

docker run -d --name='machinaris' -p 8926:8926 -e TZ="Europe/Oslo" -e mode=plotter -e farmer_pk=XXXXX -e pool_pk=XXXXX -v '/home/chris_wick/.machinaris':'/root/.chia':'rw' -v '/home/chris_wick/plots':'/plots':'rw' -v '/home/chris_wick/temp':'/plotting':'rw' -t 'ghcr.io/guydavis/machinaris'

Screenshot

full-window screenshot of browser page

WebUi Log

cat .machinaris/machinaris/logs/webui.log
[2021-06-01 16:45:52 +0200] [25] [INFO] Starting gunicorn 20.1.0
[2021-06-01 16:45:52 +0200] [25] [INFO] Listening at: http://0.0.0.0:8926 (25)
[2021-06-01 16:45:52 +0200] [25] [INFO] Using worker: sync
[2021-06-01 16:45:52 +0200] [28] [INFO] Booting worker with pid: 28
[2021-06-01 16:46:20 +0200] [28] [INFO] v0.6.0
[2021-06-01 16:46:22 +0200] [28] [ERROR] Exception on /index [GET]
Traceback (most recent call last):
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 2070, in wsgi_app
    response = self.full_dispatch_request()
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 1515, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 1513, in full_dispatch_request
    rv = self.dispatch_request()
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 1499, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/machinaris/app/routes.py", line 24, in index
    farming = chia_cli.load_farm_summary()
  File "/machinaris/app/commands/chia_cli.py", line 43, in load_farm_summary
    last_farm_summary = chia.FarmSummary(farm_plots=load_plots_farming())
  File "/machinaris/app/models/chia.py", line 41, in __init__
    utils.sizeof_fmt(plot['size'], plot['path'])))
KeyError: 'path'
Job "collect (trigger: cron[minute='*/5'], next run at: 2021-06-01 16:55:00 CEST)" raised an exception
Traceback (most recent call last):
  File "/chia-blockchain/venv/lib/python3.8/site-packages/apscheduler/executors/base.py", line 125, in run_job
    retval = job.func(*job.args, **job.kwargs)
  File "/machinaris/app/schedules/disk_stats.py", line 82, in collect
    db = get_db()
  File "/machinaris/app/schedules/disk_stats.py", line 27, in get_db
    db = g._stats_database = sqlite3.connect(DATABASE)
sqlite3.OperationalError: unable to open database file

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Okay that helps. Please get into the docker container with and then run the setup databases script:

$ docker exec -it machinaris bash
# cd /machinaris/scripts
# ./setup_databases.sh
# ls -al /root/.chia/machinaris/dbs
# chia farm summary

Please let me know if there is any error output from above.

from machinaris.

iamchriswick avatar iamchriswick commented on August 16, 2024

Still the Internal Server Error on the page.

docker exec -it machinaris bash
root@68a7c10c6a38:/chia-blockchain# cd /machinaris/scripts
root@68a7c10c6a38:/machinaris/scripts# ./setup_databases.sh
Creating database for Machinaris...
Creating database for Chiadog...
root@68a7c10c6a38:/machinaris/scripts# ls -al /root/.chia/machinaris/dbs
total 60
drwxr-xr-x 2 root root  4096 Jun  1 18:08 .
drwxr-xr-x 4 root root  4096 Jun  1 18:08 ..
-rw-rw-rw- 1 root root 49152 Jun  1 18:08 stats.db
root@68a7c10c6a38:/machinaris/scripts# chia farm summary
Connection error. Check if wallet is running at 9256
Connection error. Check if harvester is running at 8560
Connection error. Check if full node is running at 8555
Connection error. Check if farmer is running at 8559
Farming status: Not available
Total chia farmed: Unknown
User transaction fees: Unknown
Block rewards: Unknown
Last height farmed: Unknown
Plot count: Unknown
Total size of plots: Unknown
Estimated network space: Unknown
Expected time to win: Unknown
Note: log into your key using 'chia wallet show' to see rewards for each key

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Hmm, anything different at http://IP_ADDR:8926/plotting? Also, what output does docker logs machinaris provide?

from machinaris.

madarasiati avatar madarasiati commented on August 16, 2024

Hi,
I ran into the same problem as iamchriswick.

Installed a new machinaris on a DS916+ NAS in plotter mode for testing the problem.
After the first startup reached webUI. no plotting started.

LOG
LOG_2

In docker in the machinaris container there is a Terminal tab. If you click on the terminal tab and right after refresh webUI, you got the "500 internal server error".
This webUI problem exits only on Summary page and Plotting page. (on my other NAS a full-node running with the same problem)

In the docker if you stop the container and empty it (config remains, all data lost). After a restart the webUI works again.

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Hi all, there is a new release today which I hope may help here, at least with better parsing of plotman status. As well, it's now possible to:

docker exec -it machinaris bash
cd /machinaris
./scripts/start-machinaris.sh

which should restart just the WebUI, without restarting the container. If further issues are encountered, please attach your machinaris/logs/webui.log file.

from machinaris.

Jjjameson91 avatar Jjjameson91 commented on August 16, 2024

Same issue with same symptoms. Only difference is MacOS. I pulled the newest version (0.3.1), and the /plotting page loads fine, but /index fails to the same Internal Server error.

webui.log

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Same issue with same symptoms. Only difference is MacOS. I pulled the newest version (0.3.1), and the /plotting page loads fine, but /index fails to the same Internal Server error.

Interesting. Thanks for attaching the webui.log. Would you mind trying this command from the Docker in-container console prompt for the Machinaris container?

plotman status

Please attach the output, or a screenshot of it. I'm interested in whether any lines are present other than the table header (columns) and a line-by-line listing of plotting jobs. Any error lines for example?

from machinaris.

Jjjameson91 avatar Jjjameson91 commented on August 16, 2024

Here you go! I wasn't running any plots at the time, so the first try is with no plots running. I then activated plotman and ran the command again
machinaris-bug

from machinaris.

Jjjameson91 avatar Jjjameson91 commented on August 16, 2024

I even completely wiped my Machinaris folder, re-pulled the docker and tried it again with the same result (error on /index page)

from machinaris.

hhollenstain avatar hhollenstain commented on August 16, 2024

@guydavis same issue index fails, same internal server error, pulled the logs its breaking on something with building a path

[2021-06-08 19:57:00 -0700] [456] [ERROR] Exception on /index [GET]
Traceback (most recent call last):
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 2070, in wsgi_app
    response = self.full_dispatch_request()
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 1515, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 1513, in full_dispatch_request
    rv = self.dispatch_request()
  File "/chia-blockchain/venv/lib/python3.8/site-packages/flask/app.py", line 1499, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/machinaris/app/routes.py", line 24, in index
    farming = chia_cli.load_farm_summary()
  File "/machinaris/app/commands/chia_cli.py", line 43, in load_farm_summary
    last_farm_summary = chia.FarmSummary(farm_plots=load_plots_farming())
  File "/machinaris/app/models/chia.py", line 41, in __init__
    utils.sizeof_fmt(plot['size'], plot['path'])))
KeyError: 'path'

I am guessing since I set mode=plotter it doesn't actually load any plots into farming and the index page is failing on this.

FYI: on unraid

Loaded: 2021-06-08 19:59:25
Chia™ 1.1.7
Chia™ Dog 0.6.0
Machinaris 0.3.2
Plotman 0.3.1

from machinaris.

raskitoma avatar raskitoma commented on August 16, 2024

Hi @guydavis

Error persists in the latest version (ghcr.io/guydavis/machinaris) using Machinaris 0.4.0

If you want to set Machinaris as a plotter, you still need to run the setup_databases.sh script doing:

dock exec -it machinaris /machinaris/scripts/setup_databases.sh

and once it finish, restart the container using

docker restart machinaris

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Yes, thanks for the report. I've enabled the setup_databases.sh script again for standalone plotter-mode. Already available in the test release: ghcr.io/guydavis/machinaris:test

However, I would recommend trying a Machinaris Controller to remotely manage the Machinaris Plotter system, rather than the old approach of a standalone plotter. The new Workers functionality in v0.4.0 does not have this issue.

from machinaris.

hoosierdadi avatar hoosierdadi commented on August 16, 2024

Since updating last week I'm getting this error on my full node in Unraid. Another update hit just a couple days ago - but still the same issue. I get the funny quote and loading dial, then internal server error. I've tried stopping/starting docker services and restarting docker image and installing Machinaris again from previous applications - same error.

from machinaris.

guydavis avatar guydavis commented on August 16, 2024

Since updating last week I'm getting this error on my full node in Unraid. Another update hit just a couple days ago - but still the same issue. I get the funny quote and loading dial, then internal server error. I've tried stopping/starting docker services and restarting docker image and installing Machinaris again from previous applications - same error.

Sounds like some troubleshooting would help. Try resetting the database.

from machinaris.

nommiiss avatar nommiiss commented on August 16, 2024

fixed this issue by removing the "keys" string from the deployment environment config just add a # before the keys string or remove it completely

i hope this helps as it took me a while to get this sorted for myself

"

environment:

# - keys="/home/nommiiss/machinaris/mnemonic.txt"

- TZ=Europe/London

- mode=fullnode

- worker_address=192.168.0.2

- plots_dir=/plots1

- blockchains=chia

- blockchain_db_download=false

ports:

"

from machinaris.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.