From bdb85d61159df16b6eee96ef0fd4b4ebe644793d Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Sat, 6 Feb 2021 16:23:25 -0500 Subject: [PATCH 01/17] Update issue templates --- .github/ISSUE_TEMPLATE/bug-report.md | 31 +++++++++++++ .github/ISSUE_TEMPLATE/deal-making-issues.md | 46 +++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 ++++++++ .github/ISSUE_TEMPLATE/mining-issues.md | 34 ++++++++++++++ .github/ISSUE_TEMPLATE/proving-issues.md | 48 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/sealingfailed.md | 21 +++++---- 6 files changed, 192 insertions(+), 8 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/deal-making-issues.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/mining-issues.md create mode 100644 .github/ISSUE_TEMPLATE/proving-issues.md diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 000000000..ca5da6436 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,31 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: "[BUG] " +labels: hint/needs-triaging, kind/bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. +(If you are not sure what the bug is, try to figure it out via a [discussion](https://github.com/filecoin-project/lotus/discussions/new) first! + +**Version (run `lotus version`):** + +**To Reproduce** +Steps to reproduce the behavior: +1. Run '...' +2. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +Provide daemon/miner/worker and goroutines(if available) for troubleshooting. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/deal-making-issues.md b/.github/ISSUE_TEMPLATE/deal-making-issues.md new file mode 100644 index 000000000..9df286cd8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/deal-making-issues.md @@ -0,0 +1,46 @@ +--- +name: Deal Making Issues +about: Create a report for help with deal making failures. +title: "[Deal Making Issue]" +labels: hint/needs-triaging, area/markets +assignees: '' + +--- + +Please provide all the information requested here to help us troubleshoot "deal making failed" issues. +If the information requested is missing, we will probably have to just ask you to provide it anyway, +before we can help debug. + +**Basic Information** +Including information like, Are you the client or the miner? Is this a storage deal or a retrieval deal? Is it an offline deal? + +**Describe the problem** + +A brief description of the problem you encountered while deal making. + +**Version** + +The output of `lotus --version`. + +**Setup** + +You miner(if applicable) and daemon setup. + +**Commands** + +Commands you ran. + +**Deal status** + +The output of `lotus client` or `lotus-miner storage-deals|retrieval-deals|data-transfers` commands for the deal(s) in question. + +**Lotus daemon and miner logs** + +Please go through the logs of your daemon and miner(if applicable), and include screenshots of any error/warning-like messages you find. + +Alternatively please upload full log files and share a link here + +** Code modifications ** + +If you have modified parts of lotus, please describe which areas were modified, +and the scope of those modifications diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..0803a6db8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "[Feature Request]" +labels: hint/needs-triaging +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/mining-issues.md b/.github/ISSUE_TEMPLATE/mining-issues.md new file mode 100644 index 000000000..9297982f1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/mining-issues.md @@ -0,0 +1,34 @@ +--- +name: Mining Issues +about: Create a report for help with mining failures. +title: "[Mining Issue]" +labels: hint/needs-triaging, area/mining +assignees: '' + +--- + +Please provide all the information requested here to help us troubleshoot "mining/WinningPoSt failed" issues. +If the information requested is missing, we will probably have to just ask you to provide it anyway, +before we can help debug. + +**Describe the problem** +A brief description of the problem you encountered while mining new blocks. + +**Version** + +The output of `lotus --version`. + +**Setup** + +You miner and daemon setup. + +**Lotus daemon and miner logs** + +Please go through the logs of your daemon and miner, and include screenshots of any error/warning-like messages you find, highlighting the one has "winning post" in it. + +Alternatively please upload full log files and share a link here + +** Code modifications ** + +If you have modified parts of lotus, please describe which areas were modified, +and the scope of those modifications diff --git a/.github/ISSUE_TEMPLATE/proving-issues.md b/.github/ISSUE_TEMPLATE/proving-issues.md new file mode 100644 index 000000000..63eceb751 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/proving-issues.md @@ -0,0 +1,48 @@ +--- +name: Proving Issues +about: Create a report for help with proving failures. +title: "[Proving Issue]" +labels: area/proving, hint/needs-triaging +assignees: '' + +--- + +Please provide all the information requested here to help us troubleshoot "proving/wdpost failed" issues. +If the information requested is missing, we will probably have to just ask you to provide it anyway, +before we can help debug. + +**Describe the problem** +A brief description of the problem you encountered while proving the storage. + +**Version** + +The output of `lotus --version`. + +**Setup** + +You miner, worker and daemon setup. + +**Commands** + +Commands you ran. + +**Proving status** + +The output of `lotus-miner proving` info. + +**Lotus miner logs** + +Please go through the logs of your miner, and include screenshots of any error-like messages you find, highlighting the one has "window post" in it. + +Alternatively please upload full log files and share a link here + +**Lotus miner diagnostic info** + +Please collect the following diagnostic information, and share a link here + +* lotus-miner diagnostic info `lotus-miner info all > allinfo` + +** Code modifications ** + +If you have modified parts of lotus, please describe which areas were modified, +and the scope of those modifications diff --git a/.github/ISSUE_TEMPLATE/sealingfailed.md b/.github/ISSUE_TEMPLATE/sealingfailed.md index ae14c3262..ab7e3dcf0 100644 --- a/.github/ISSUE_TEMPLATE/sealingfailed.md +++ b/.github/ISSUE_TEMPLATE/sealingfailed.md @@ -1,8 +1,8 @@ --- name: Sealing Issues about: Create a report for help with sealing (commit) failures. -title: '' -labels: 'sealing' +title: "[Sealing Issue]" +labels: hint/needs-triaging, area/sealing assignees: '' --- @@ -12,10 +12,19 @@ If the information requested is missing, we will probably have to just ask you t before we can help debug. **Describe the problem** +A brief description of the problem you encountered while sealing a sector. -A brief description of the problem you encountered while proving (sealing) a sector. +**Version** -Including what commands you ran, and a description of your setup, is very helpful. +The output of `lotus --version`. + +**Setup** + +You miner, worker and daemon setup. + +**Commands** + +Commands you ran. **Sectors status** @@ -37,7 +46,3 @@ Please collect the following diagnostic information, and share a link here If you have modified parts of lotus, please describe which areas were modified, and the scope of those modifications - -**Version** - -The output of `lotus --version`. From d09f6f947a2fb86f08b08cab32c0fe4eac6d93ed Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:19:29 -0500 Subject: [PATCH 02/17] Update .github/ISSUE_TEMPLATE/deal-making-issues.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- .github/ISSUE_TEMPLATE/deal-making-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/deal-making-issues.md b/.github/ISSUE_TEMPLATE/deal-making-issues.md index 9df286cd8..224da4d9b 100644 --- a/.github/ISSUE_TEMPLATE/deal-making-issues.md +++ b/.github/ISSUE_TEMPLATE/deal-making-issues.md @@ -16,7 +16,7 @@ Including information like, Are you the client or the miner? Is this a storage d **Describe the problem** -A brief description of the problem you encountered while deal making. +A brief description of the problem you encountered while trying to make a deal. **Version** From d09db15ddd1bc94471b43637778e6be9a5a0a82a Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:19:44 -0500 Subject: [PATCH 03/17] Update .github/ISSUE_TEMPLATE/deal-making-issues.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- .github/ISSUE_TEMPLATE/deal-making-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/deal-making-issues.md b/.github/ISSUE_TEMPLATE/deal-making-issues.md index 224da4d9b..fd5fb7a3b 100644 --- a/.github/ISSUE_TEMPLATE/deal-making-issues.md +++ b/.github/ISSUE_TEMPLATE/deal-making-issues.md @@ -32,7 +32,7 @@ Commands you ran. **Deal status** -The output of `lotus client` or `lotus-miner storage-deals|retrieval-deals|data-transfers` commands for the deal(s) in question. +The output of `lotus client list-deals -v` and/or `lotus-miner storage-deals|retrieval-deals|data-transfers list [-v]` commands for the deal(s) in question. **Lotus daemon and miner logs** From 8dcc0081358b40edbdf10b829b1f6904db5c82bf Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:19:53 -0500 Subject: [PATCH 04/17] Update .github/ISSUE_TEMPLATE/proving-issues.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- .github/ISSUE_TEMPLATE/proving-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/proving-issues.md b/.github/ISSUE_TEMPLATE/proving-issues.md index 63eceb751..0cf0a48d2 100644 --- a/.github/ISSUE_TEMPLATE/proving-issues.md +++ b/.github/ISSUE_TEMPLATE/proving-issues.md @@ -7,7 +7,7 @@ assignees: '' --- -Please provide all the information requested here to help us troubleshoot "proving/wdpost failed" issues. +Please provide all the information requested here to help us troubleshoot "proving/window PoSt failed" issues. If the information requested is missing, we will probably have to just ask you to provide it anyway, before we can help debug. From 6c2762f7bb97ab147a736c7e0069b2b67a427178 Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:30:03 -0500 Subject: [PATCH 05/17] Update deal-making-issues.md --- .github/ISSUE_TEMPLATE/deal-making-issues.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/deal-making-issues.md b/.github/ISSUE_TEMPLATE/deal-making-issues.md index fd5fb7a3b..fcab8fe2d 100644 --- a/.github/ISSUE_TEMPLATE/deal-making-issues.md +++ b/.github/ISSUE_TEMPLATE/deal-making-issues.md @@ -24,11 +24,12 @@ The output of `lotus --version`. **Setup** -You miner(if applicable) and daemon setup. +You miner(if applicable) and daemon setup, i.e: What hardware do you use, how much ram and etc. -**Commands** - -Commands you ran. +**To Reproduce** + Steps to reproduce the behavior: + 1. Run '...' + 2. See error **Deal status** From ff6216486ecd5cfade18997e1ede03df907f5308 Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:31:52 -0500 Subject: [PATCH 06/17] Update mining-issues.md --- .github/ISSUE_TEMPLATE/mining-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/mining-issues.md b/.github/ISSUE_TEMPLATE/mining-issues.md index 9297982f1..6a018fd36 100644 --- a/.github/ISSUE_TEMPLATE/mining-issues.md +++ b/.github/ISSUE_TEMPLATE/mining-issues.md @@ -20,7 +20,7 @@ The output of `lotus --version`. **Setup** -You miner and daemon setup. +You miner and daemon setup, including what hardware do you use, your environment variable settings, how do you run your miner and worker, do you use GPU and etc. **Lotus daemon and miner logs** From 2f1aef17ccb97b020594907c71fc9d0b1b83c062 Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:32:09 -0500 Subject: [PATCH 07/17] Update proving-issues.md --- .github/ISSUE_TEMPLATE/proving-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/proving-issues.md b/.github/ISSUE_TEMPLATE/proving-issues.md index 0cf0a48d2..9f5036e4a 100644 --- a/.github/ISSUE_TEMPLATE/proving-issues.md +++ b/.github/ISSUE_TEMPLATE/proving-issues.md @@ -20,7 +20,7 @@ The output of `lotus --version`. **Setup** -You miner, worker and daemon setup. +You miner and daemon setup, including what hardware do you use, your environment variable settings, how do you run your miner and worker, do you use GPU and etc. **Commands** From e3bf42cf15e0ca3a1f46ae505cedb9a8fa378242 Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Mon, 8 Feb 2021 15:32:34 -0500 Subject: [PATCH 08/17] Update sealingfailed.md --- .github/ISSUE_TEMPLATE/sealingfailed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/sealingfailed.md b/.github/ISSUE_TEMPLATE/sealingfailed.md index ab7e3dcf0..0343ed314 100644 --- a/.github/ISSUE_TEMPLATE/sealingfailed.md +++ b/.github/ISSUE_TEMPLATE/sealingfailed.md @@ -20,7 +20,7 @@ The output of `lotus --version`. **Setup** -You miner, worker and daemon setup. +You miner and daemon setup, including what hardware do you use, your environment variable settings, how do you run your miner and worker, do you use GPU and etc. **Commands** From a03506cf829cf6474894967f7da411a21679737e Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Mon, 22 Feb 2021 01:38:59 -0500 Subject: [PATCH 09/17] Mention security policy --- .github/ISSUE_TEMPLATE/bug-report.md | 2 ++ .github/ISSUE_TEMPLATE/bug_report.md | 27 ------------------- .github/ISSUE_TEMPLATE/deal-making-issues.md | 2 ++ .github/ISSUE_TEMPLATE/mining-issues.md | 5 ++-- .github/ISSUE_TEMPLATE/proving-issues.md | 2 ++ .../{sealingfailed.md => sealing-issues.md} | 2 ++ 6 files changed, 11 insertions(+), 29 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md rename .github/ISSUE_TEMPLATE/{sealingfailed.md => sealing-issues.md} (90%) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index ca5da6436..187412eba 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -7,6 +7,8 @@ assignees: '' --- +> Note: For security-related bugs/issues, please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy). + **Describe the bug** A clear and concise description of what the bug is. (If you are not sure what the bug is, try to figure it out via a [discussion](https://github.com/filecoin-project/lotus/discussions/new) first! diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 1ded8c36b..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Run '...' -2. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Version (run `lotus version`):** - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/deal-making-issues.md b/.github/ISSUE_TEMPLATE/deal-making-issues.md index fcab8fe2d..bec800cb7 100644 --- a/.github/ISSUE_TEMPLATE/deal-making-issues.md +++ b/.github/ISSUE_TEMPLATE/deal-making-issues.md @@ -7,6 +7,8 @@ assignees: '' --- +> Note: For security-related bugs/issues, please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy). + Please provide all the information requested here to help us troubleshoot "deal making failed" issues. If the information requested is missing, we will probably have to just ask you to provide it anyway, before we can help debug. diff --git a/.github/ISSUE_TEMPLATE/mining-issues.md b/.github/ISSUE_TEMPLATE/mining-issues.md index 6a018fd36..434e160d4 100644 --- a/.github/ISSUE_TEMPLATE/mining-issues.md +++ b/.github/ISSUE_TEMPLATE/mining-issues.md @@ -7,9 +7,10 @@ assignees: '' --- +> Note: For security-related bugs/issues, please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy). + Please provide all the information requested here to help us troubleshoot "mining/WinningPoSt failed" issues. -If the information requested is missing, we will probably have to just ask you to provide it anyway, -before we can help debug. +If the information requested is missing, you may be asked you to provide it. **Describe the problem** A brief description of the problem you encountered while mining new blocks. diff --git a/.github/ISSUE_TEMPLATE/proving-issues.md b/.github/ISSUE_TEMPLATE/proving-issues.md index 9f5036e4a..764752be8 100644 --- a/.github/ISSUE_TEMPLATE/proving-issues.md +++ b/.github/ISSUE_TEMPLATE/proving-issues.md @@ -7,6 +7,8 @@ assignees: '' --- +> Note: For security-related bugs/issues, please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy). + Please provide all the information requested here to help us troubleshoot "proving/window PoSt failed" issues. If the information requested is missing, we will probably have to just ask you to provide it anyway, before we can help debug. diff --git a/.github/ISSUE_TEMPLATE/sealingfailed.md b/.github/ISSUE_TEMPLATE/sealing-issues.md similarity index 90% rename from .github/ISSUE_TEMPLATE/sealingfailed.md rename to .github/ISSUE_TEMPLATE/sealing-issues.md index 0343ed314..7511849d3 100644 --- a/.github/ISSUE_TEMPLATE/sealingfailed.md +++ b/.github/ISSUE_TEMPLATE/sealing-issues.md @@ -7,6 +7,8 @@ assignees: '' --- +> Note: For security-related bugs/issues, please follow the [security policy](https://github.com/filecoin-project/lotus/security/policy). + Please provide all the information requested here to help us troubleshoot "commit failed" issues. If the information requested is missing, we will probably have to just ask you to provide it anyway, before we can help debug. From 5b4f93cffadf8e3f1544703da446fa57054e181a Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Sat, 27 Feb 2021 00:54:27 -0500 Subject: [PATCH 10/17] Update .github/ISSUE_TEMPLATE/bug-report.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- .github/ISSUE_TEMPLATE/bug-report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index 187412eba..23c7640b7 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -24,7 +24,7 @@ Steps to reproduce the behavior: A clear and concise description of what you expected to happen. **Logs** -Provide daemon/miner/worker and goroutines(if available) for troubleshooting. +Provide daemon/miner/worker logs, and goroutines(if available) for troubleshooting. **Screenshots** If applicable, add screenshots to help explain your problem. From 31898af0765eb27efbef7f9c16be0cd4d2650f54 Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Sat, 27 Feb 2021 00:54:52 -0500 Subject: [PATCH 11/17] Update .github/ISSUE_TEMPLATE/proving-issues.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- .github/ISSUE_TEMPLATE/proving-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/proving-issues.md b/.github/ISSUE_TEMPLATE/proving-issues.md index 764752be8..451420e25 100644 --- a/.github/ISSUE_TEMPLATE/proving-issues.md +++ b/.github/ISSUE_TEMPLATE/proving-issues.md @@ -42,7 +42,7 @@ Alternatively please upload full log files and share a link here Please collect the following diagnostic information, and share a link here -* lotus-miner diagnostic info `lotus-miner info all > allinfo` +* lotus-miner diagnostic info `lotus-miner info all > allinfo.txt` ** Code modifications ** From 81fcffcf3c125425faa2670bebbfdf91859169a9 Mon Sep 17 00:00:00 2001 From: Jennifer <42981373+jennijuju@users.noreply.github.com> Date: Sat, 27 Feb 2021 00:55:55 -0500 Subject: [PATCH 12/17] Update proving-issues.md --- .github/ISSUE_TEMPLATE/proving-issues.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/proving-issues.md b/.github/ISSUE_TEMPLATE/proving-issues.md index 451420e25..6187d546e 100644 --- a/.github/ISSUE_TEMPLATE/proving-issues.md +++ b/.github/ISSUE_TEMPLATE/proving-issues.md @@ -24,10 +24,6 @@ The output of `lotus --version`. You miner and daemon setup, including what hardware do you use, your environment variable settings, how do you run your miner and worker, do you use GPU and etc. -**Commands** - -Commands you ran. - **Proving status** The output of `lotus-miner proving` info. From b7fab5f937001f125801f4579cfa25bb25a072bb Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Tue, 9 Mar 2021 22:03:05 -0800 Subject: [PATCH 13/17] fix: wait a bit before starting to compute window post proofs Due to a (now consensus critical) bug in randomness selection, "beacon" randomness depends on whether the epoch in which the beacon occurred was a null block. Unfortunately, this means: 1. If a challenge lands on a non-null round but that non-null round gets re-orged to a null round, the randomness will change to the beacon in the first preceding non-null block. 2. If a challenge lands on a null round but that null round gets re-orged to a non-null round, the randomness will change to the beacon in the new non-null round. The correct solution is to change the way the beacon is selected: 1. Wait until a non-null round. 2. The block in this round will contain all beacons from the null rounds, select the beacon from the target epoch. Unfortunately, this requires a mandatory network upgrade. Instead, this patch just waits a bit before beginning to compute window post after passing the challenge round to wait-out any reorgs. --- storage/wdpost_changehandler.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/storage/wdpost_changehandler.go b/storage/wdpost_changehandler.go index 285995757..188d7e93a 100644 --- a/storage/wdpost_changehandler.go +++ b/storage/wdpost_changehandler.go @@ -13,7 +13,10 @@ import ( "github.com/filecoin-project/lotus/chain/types" ) -const SubmitConfidence = 4 +const ( + SubmitConfidence = 4 + ChallengeConfidence = 10 +) type CompleteGeneratePoSTCb func(posts []miner.SubmitWindowedPoStParams, err error) type CompleteSubmitPoSTCb func(err error) @@ -230,7 +233,7 @@ func (p *proveHandler) processHeadChange(ctx context.Context, newTS *types.TipSe } // Check if the chain is above the Challenge height for the post window - if newTS.Height() < di.Challenge { + if newTS.Height() < di.Challenge+ChallengeConfidence { return } From 57fe04ba6e97b8343813c709917b3ae3def095f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 10 Mar 2021 09:19:38 +0100 Subject: [PATCH 14/17] wdpost: double-check randomness --- storage/wdpost_run.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/storage/wdpost_run.go b/storage/wdpost_run.go index 2690069d4..79cb13827 100644 --- a/storage/wdpost_run.go +++ b/storage/wdpost_run.go @@ -600,9 +600,18 @@ func (s *WindowPoStScheduler) runPost(ctx context.Context, di dline.Info, ts *ty return nil, xerrors.Errorf("received no proofs back from generate window post") } + checkRand, err := s.api.ChainGetRandomnessFromBeacon(ctx, types.EmptyTSK, crypto.DomainSeparationTag_WindowedPoStChallengeSeed, di.Challenge, buf.Bytes()) + if err != nil { + return nil, xerrors.Errorf("failed to get chain randomness from beacon for window post (ts=%d; deadline=%d): %w", ts.Height(), di, err) + } + + if !bytes.Equal(checkRand, rand) { + log.Warnw("windowpost randomness changed", "old", rand, "new", checkRand, "ts-height", ts.Height(), "challenge-height", di.Challenge, "tsk", ts.Key()) + } + // If we generated an incorrect proof, try again. if correct, err := s.verifier.VerifyWindowPoSt(ctx, proof.WindowPoStVerifyInfo{ - Randomness: abi.PoStRandomness(rand), + Randomness: abi.PoStRandomness(checkRand), Proofs: postOut, ChallengedSectors: sinfos, Prover: abi.ActorID(mid), From ea4a54e083f6a1fea78c8eb6d296af5880b2e93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 10 Mar 2021 10:01:28 +0100 Subject: [PATCH 15/17] wdpost: Fix tests --- storage/wdpost_changehandler_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/storage/wdpost_changehandler_test.go b/storage/wdpost_changehandler_test.go index 6479c0d7e..6291709ad 100644 --- a/storage/wdpost_changehandler_test.go +++ b/storage/wdpost_changehandler_test.go @@ -395,7 +395,7 @@ func TestChangeHandlerStartProvingNextDeadline(t *testing.T) { // Trigger a head change currentEpoch := abi.ChainEpoch(1) - go triggerHeadAdvance(t, s, currentEpoch) + go triggerHeadAdvance(t, s, currentEpoch + ChallengeConfidence) // Should start proving <-s.ch.proveHdlr.processedHeadChanges @@ -405,7 +405,7 @@ func TestChangeHandlerStartProvingNextDeadline(t *testing.T) { // Trigger a head change that advances the chain beyond the submit // confidence currentEpoch = 1 + SubmitConfidence - go triggerHeadAdvance(t, s, currentEpoch) + go triggerHeadAdvance(t, s, currentEpoch + ChallengeConfidence) // Should be no change to state yet <-s.ch.proveHdlr.processedHeadChanges @@ -424,7 +424,7 @@ func TestChangeHandlerStartProvingNextDeadline(t *testing.T) { // the next deadline go func() { di = nextDeadline(di) - currentEpoch = di.Challenge + currentEpoch = di.Challenge + ChallengeConfidence triggerHeadAdvance(t, s, currentEpoch) }() @@ -446,7 +446,7 @@ func TestChangeHandlerProvingRounds(t *testing.T) { for currentEpoch := abi.ChainEpoch(1); currentEpoch < miner.WPoStChallengeWindow*5; currentEpoch++ { // Trigger a head change di := mock.getDeadline(currentEpoch) - go triggerHeadAdvance(t, s, currentEpoch) + go triggerHeadAdvance(t, s, currentEpoch + ChallengeConfidence) // Wait for prover to process head change <-s.ch.proveHdlr.processedHeadChanges @@ -913,7 +913,7 @@ func TestChangeHandlerSubmitRevertTwoEpochs(t *testing.T) { // Move to the challenge epoch for the next deadline diE2 := nextDeadline(diE1) - currentEpoch = diE2.Challenge + currentEpoch = diE2.Challenge + ChallengeConfidence go triggerHeadAdvance(t, s, currentEpoch) // Should move to submitting state for epoch 1 @@ -1014,7 +1014,7 @@ func TestChangeHandlerSubmitRevertAdvanceLess(t *testing.T) { // Move to the challenge epoch for the next deadline diE2 := nextDeadline(diE1) - currentEpoch = diE2.Challenge + currentEpoch = diE2.Challenge + ChallengeConfidence go triggerHeadAdvance(t, s, currentEpoch) // Should move to submitting state for epoch 1 From ca3d22683a8888ac07e55deb17e1164fae601b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 10 Mar 2021 12:27:37 +0100 Subject: [PATCH 16/17] gofmt --- storage/wdpost_changehandler_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/storage/wdpost_changehandler_test.go b/storage/wdpost_changehandler_test.go index 6291709ad..bae4f40fd 100644 --- a/storage/wdpost_changehandler_test.go +++ b/storage/wdpost_changehandler_test.go @@ -395,7 +395,7 @@ func TestChangeHandlerStartProvingNextDeadline(t *testing.T) { // Trigger a head change currentEpoch := abi.ChainEpoch(1) - go triggerHeadAdvance(t, s, currentEpoch + ChallengeConfidence) + go triggerHeadAdvance(t, s, currentEpoch+ChallengeConfidence) // Should start proving <-s.ch.proveHdlr.processedHeadChanges @@ -405,7 +405,7 @@ func TestChangeHandlerStartProvingNextDeadline(t *testing.T) { // Trigger a head change that advances the chain beyond the submit // confidence currentEpoch = 1 + SubmitConfidence - go triggerHeadAdvance(t, s, currentEpoch + ChallengeConfidence) + go triggerHeadAdvance(t, s, currentEpoch+ChallengeConfidence) // Should be no change to state yet <-s.ch.proveHdlr.processedHeadChanges @@ -446,7 +446,7 @@ func TestChangeHandlerProvingRounds(t *testing.T) { for currentEpoch := abi.ChainEpoch(1); currentEpoch < miner.WPoStChallengeWindow*5; currentEpoch++ { // Trigger a head change di := mock.getDeadline(currentEpoch) - go triggerHeadAdvance(t, s, currentEpoch + ChallengeConfidence) + go triggerHeadAdvance(t, s, currentEpoch+ChallengeConfidence) // Wait for prover to process head change <-s.ch.proveHdlr.processedHeadChanges From a0d7604e7c58ccf08dfdb3d801baa845816d5883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 10 Mar 2021 13:13:03 +0100 Subject: [PATCH 17/17] wdpost: Use chain head tsk in post rand check --- storage/wdpost_run.go | 7 ++++++- storage/wdpost_run_test.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/storage/wdpost_run.go b/storage/wdpost_run.go index 79cb13827..ea4d110de 100644 --- a/storage/wdpost_run.go +++ b/storage/wdpost_run.go @@ -600,7 +600,12 @@ func (s *WindowPoStScheduler) runPost(ctx context.Context, di dline.Info, ts *ty return nil, xerrors.Errorf("received no proofs back from generate window post") } - checkRand, err := s.api.ChainGetRandomnessFromBeacon(ctx, types.EmptyTSK, crypto.DomainSeparationTag_WindowedPoStChallengeSeed, di.Challenge, buf.Bytes()) + headTs, err := s.api.ChainHead(ctx) + if err != nil { + return nil, xerrors.Errorf("getting current head: %w", err) + } + + checkRand, err := s.api.ChainGetRandomnessFromBeacon(ctx, headTs.Key(), crypto.DomainSeparationTag_WindowedPoStChallengeSeed, di.Challenge, buf.Bytes()) if err != nil { return nil, xerrors.Errorf("failed to get chain randomness from beacon for window post (ts=%d; deadline=%d): %w", ts.Height(), di, err) } diff --git a/storage/wdpost_run_test.go b/storage/wdpost_run_test.go index 80bd8d3fb..4bf30e3e9 100644 --- a/storage/wdpost_run_test.go +++ b/storage/wdpost_run_test.go @@ -350,7 +350,7 @@ func (m *mockStorageMinerAPI) GasEstimateMessageGas(ctx context.Context, message } func (m *mockStorageMinerAPI) ChainHead(ctx context.Context) (*types.TipSet, error) { - panic("implement me") + return nil, nil } func (m *mockStorageMinerAPI) ChainNotify(ctx context.Context) (<-chan []*api.HeadChange, error) {