Skip to content

Instantly share code, notes, and snippets.

@tbenz9
Last active June 25, 2021 08:07
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tbenz9/8066d74853ab28c23bd7bc1d3c7cdeda to your computer and use it in GitHub Desktop.
Save tbenz9/8066d74853ab28c23bd7bc1d3c7cdeda to your computer and use it in GitHub Desktop.
Sia Troubleshooting Megathread

Sia Troubleshooting Megathread

This document is intended to be a 'self-help' guide, if you want personal help please ask for help in the Discord #help channel or email hello@sia.tech.

These steps may cause you to lose your existing contracts, files, and host data! Make sure you have a backup of your files, your seed and password, and the Sia configs. Make sure you understand the risks before completing any of the steps below!

Back up your Sia configurations

Your Sia configurations should be backed up in case you want to restore your previous configs. Copy the Sia-UI folder to a safe location, like in Documents, a USB drive, etc. The default location for the Sia-UI folder is:

  • Windows: Users\<user>\appdata\roaming\Sia-UI\
  • OS X: $HOME/Library/Application Support/Sia-UI/
  • Linux: $HOME/.config/Sia-UI/

Make sure you also have a copy of your wallet password and seed.

View the Sia logs

Sia has several log files where it writes warning and error messages. The log files typically are named something like wallet.log or renter.log. Each log file typically has 3 parts:

  1. Normal Sia output
  2. The error
  3. A stack trace (the hard to read computer stuff)

For this guide we care about "The error" section which usually is only 1 line, and starts with panic or critical.

Sia-UI

Press Ctrl+Shift+L and a new screen will appear where you can select and read the different log files.

Sia Command Line Interface (CLI)

Logs are located in the Sia config folder and organized by the Sia module name. Look for logs named <module>.log in the appropriate directory below.

  • Windows: Users\<user>\appdata\roaming\Sia-UI\sia\
  • OS X: $HOME/Library/Application Support/Sia-UI/sia/
  • Linux: $HOME/.config/Sia-UI/sia/

I've found my logs, now what do I do?

Look through your logs for messages like critical or panic those are going to be useful for troubleshooting. Use the rest of this document to try to find your error message or problem. If you find your error, follow the instructions to fix it, and comment on the linked GitHub issue with your error log and what fixed it. Below is an example error, the keywords we care about are panic: page 512601 already freed.

Sia Daemon v1.3.1
Loading...
(0/6) Loading siad...
(1/6) Loading gateway...
(2/6) Loading consensus...
(3/6) Loading transaction pool...
panic: page 512601 already freed

goroutine 98 [running]:
github.com/NebulousLabs/bolt.(*freelist).free(0xc42006fce0, 0x27ade, 0x7fcceb86b000)
        /go/src/github.com/NebulousLabs/bolt/freelist.go:121 +0x301
github.com/NebulousLabs/bolt.(*Bucket).free.func1(0x7fcceb86b000, 0x0, 0x0)
        /go/src/github.com/NebulousLabs/bolt/bucket.go:684 +0x51
github.com/NebulousLabs/bolt.(*Bucket)._forEachPageNode(0xc4211268c0, 0x7d259, 0x0, 0xc4201282a8)
        /go/src/github.com/NebulousLabs/bolt/bucket.go:506 +0x87
github.com/NebulousLabs/bolt.(*Bucket).forEachPageNode(0xc4211268c0, 0xc4201282a8)
        /go/src/github.com/NebulousLabs/bolt/bucket.go:499 +0x7c
github.com/NebulousLabs/bolt.(*Bucket).free(0xc4211268c0)
        /go/src/github.com/NebulousLabs/bolt/bucket.go:682 +0x5f

Common error messages

If Sia is reporting an error or crashing, look through the logs and try to find one of these common error messages. The "Workaround" column will tell you how to fix it, and the "Troubleshooting" section of this document will give you steps on how to complete the workaround.

Error Message from logs Workaround Notes
Critical error: getBlockMap failed in computeConsensusChange: requested item does not exist Delete the consensus.db file NebulousLabs/Sia#2542 This error often appears if your Sia-UI folder is missing. You may need to reinstall Sia to recreate the Sia-UI folder.
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x4edb73] This is usually a sign of a computer hardware problem. Rebooting your computer usually fixes this issue. NebulousLabs/Sia#2490
CRITICAL: ERROR: the renter is idle, but tracking 2 active pieces; resetting to zero Upgrade to Sia 1.3.1
Severe error: api call is taking more than 60 minutes to return: /renter/upload/endtoend-whitepaper.pdf No known fix NebulousLabs/Sia#2483
listen tcp 127.0.0.1:9980: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted. Stop all instances of Sia This occurs when another program, or instance of Sia is competing for Network resources. Make sure you are not running more than one copy of Sia. NebulousLabs/Sia#2483
error when calling /wallet/siacoins: unable to fund transaction: wallet has coins spent in incomplete transactions - not enough remaining coins Typically waiting 30 minutes and trying again will fix this problem. If not, Delete the consensus.db file NebulousLabs/Sia#2470
panic: page 512601 already freed Delete the transactionpool.db file; if not fixed, Delete the consensus.db file; if not fixed, Delete the wallet.db file NebulousLabs/Sia#2413
Critical error: accept tcp 127.0.0.1:9980: accept: too many open files in system Follow these instructions: https://stackoverflow.com/a/923369 NebulousLabs/Sia#2406
Severe error: ERROR: could not rename temporary write-ahead-log in contract manager: rename C:\Users\x\AppData\Roaming\Sia-UI\sia\host\contractmanager\contractmanager.wal_temp C:\Users\x\AppData\Roaming\Sia-UI\sia\host\contractmanager\contractmanager.wal: Access is denied. upgrade to 1.3.1 and follow instructions: Prevent the host module from starting in Sia-UI (Windows Only) NebulousLabs/Sia#2374
panic: bolt.DB.meta(): invalid meta pages Delete consensus.db file; if not fixed, delete the transactionpool.db file NebulousLabs/Sia#2318
panic: invalid page type: 0: 0 Delete consensus.db file; if not fixed, delete the transactionpool.db file NebulousLabs/Sia#2247
panic: runtime error: slice bounds out of range Delete consensus.db file NebulousLabs/Sia#2183
Critical error: entry does not exist To Do NebulousLabs/Sia#2074
Critical error: Host entry scan history not sorted. Delete consensus.db file NebulousLabs/Sia#1799
ESOCKETTIMEDOUT To Do NebulousLabs/Sia#1605
panic: Consensus change series appears to be inconsistent - we are applying the wrong block. Delete transactionpool.db file This is caused by a corrupt database file. It usually can be fixed by deleting the transactionpool.db file. NebulousLabs/Sia#2867

Troubleshooting Steps

These steps should be completed one at a time until Sia works as expected, they do not necessarily need to be done in any specific order.

Delete the consensus.db file

The consensus.db file holds all the blockchain transactions. If this file gets corrupted or damaged for any reason Sia will crash and won't start again. Delete the consensus.db file and restart Sia. It is located in:

  • Windows: Users\appdata\roaming\Sia-UI\sia\consensus\consensus.db
  • OS X: $HOME/Library/Application Support/Sia-UI/sia/consensus/consensus.db
  • Linux: $HOME/.config/Sia-UI/sia/consensus/consensus.db

Risks: Deleting the consensus.db file will not affect your files, wallet, or contracts. However, it can take several days for the blockchain (consensus.db) file to be re-downloaded and synced. You will not be able to use Sia during that time, and if you are running a Sia host, you may be penalized for having excessive downtime.

Delete the transactionpool.db file

The transactionpool.db file tracks Siacoin transactions. If this file gets corrupted or damaged Sia may crash and won't start. delete the transactionpool.db file and restart Sia. It is located in:

  • Windows: Users\appdata\roaming\Sia-UI\sia\transactionpool\transactionpool.db
  • OS X: $HOME/Library/Application Support/Sia-UI/sia/transactionpool/transactionpool.db
  • Linux: $HOME/.config/Sia-UI/sia/transactionpool/transactionpool.db

Risks: Deleting the transactionpool.db file will not affect your files, wallet, or contracts. However, it can take several hours for the transactionpool.db file to sync. You will not be able to use Sia during that time, and if you are running a Sia host, you may be penalized for having downtime.

Prevent the host module from starting in Sia-UI (Windows Only)

Some Windows users get an error Severe error: ERROR: unable to atomically copy the contract manager settings: rename C:\Users\User\AppData\Roaming\Sia-UI\sia\host\contractmanager\contractmanager.json_temp C:\Users\User\AppData\Roaming\Sia-UI\sia\host\contractmanager\contractmanager.json: Access is denied. This is caused by Window's file renaming semantics being different from Linux and Mac.

If you do not plan to be a host, there's a workaround for this.

Navigate to the folder with Sia-UI.exe, then open the file resources/app/dist/renderer.js. Find this section of code:

const siadProcess = __WEBPACK_IMPORTED_MODULE_1_sia_js__["launch"](siadConfig.path, {
        'sia-directory': siadConfig.datadir,
        'rpc-addr': siadConfig.rpcaddr,
        'host-addr': siadConfig.hostaddr,
        'api-addr': siadConfig.address,
        'modules': 'cghrtw'
});

And delete the letter h from the last line, so that it reads:

        'modules': 'cgrtw'

The next time you run Sia-UI, it will run without the host module, which is the module that's crashing.

Completely re-install Sia

Reinstalling Sia will fix the majority of issues, if you're not sure what your problem is this is the first step you should do. Reminder: reinstalling Sia will cause you to lose all your files, contracts, and host data, you've been warned! If you have your password and seed you can recover your Siacoin even after a reinstall.

  1. Completely delete Sia and its configuration files. Delete the Sia-UI folder from your computer.
  • Windows: Users\<user>\appdata\roaming\Sia-UI
  • OS X: $HOME/Library/Application Support/Sia-UI
  • Linux: $HOME/.config/Sia-UI
  1. Re-download Sia and install it. It will take a long time for it to do it's initial sync.

Risks: Deleting Sia will cause you to lose your files, host data, contracts, and configurations. If you have your password and seed, your wallet can be recovered. To do: Add detail on installation

for more advanded users If you want to speed up the blockchain download and sync read THIS and THIS respectively.

Troubleshooting without an error message

Sia is not reporting a specific error message or crash but I still need help with the Wallet, or my Siacoin. Read this troubleshooting blog post: https://medium.com/@sia_steve/sia-support-update-transactions-and-syncing-52dad5858711

Wallet won't sync

Follow the 'Sia-UI not synced' steps from the recent blog post Troubleshooting the recent hardfork

I've lost my Siacoins

If you have your wallet password and seed (these are usually identical) you can recover your Siacoin. Make sure your wallet is completely syncronized, transactions won't show up until the wallet is completely synced.

Recovering your wallet using Sia-UI

Follow the steps above to reinstall Sia-UI then click 'Load a wallet from a seed' and enter your password and seed.

My Siacoin didn't show up from an exchange

In most cases if your Siacoin did not show up in your Sia wallet the exchange never sent it. There is nothing the Sia team can do about that and you need to open a support ticket with the exchange. If the exchange provided a TXid try searching for that hash in one of the Sia explorers listed below. If the TXid exists and the Siacoin was sent to the correct Sia address then it should show up in your wallet.

To Do: add contact info and more clear steps here

I still need help!

The best place to ask for help is the Discord #Help channel. Click HERE to join Discord, then click # help on the left. Ask your question there, and if you don't get a response wait a few hours and ask it again. Be polite, everyone on Discord is a volunteer.

If you prefer email you can email the Sia support at hello@sia.tech

If you have a bug report that has not already been reported in GitHub please create a new issue and follow the Issue Template.

Donations

author (tbenz9)

Thank you!

Siacoin: f63f6c5663efd3dcee50eb28ba520661b1cd68c3fe3e09bb16355d0c11523eebef454689d8cf

Sia Team

Siacoin: 7d0c44f7664e2d34e53efde0661a6f628ec9264785ae8e3cd7c973e8d190c3c97b5e3ecbc567

@Shimito
Copy link

Shimito commented Mar 25, 2018

Thank you very much. I was able to resolve by deleting the file consensus.db file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment