Closed EmbeddedAndroid closed 1 year ago
That missing field pre_comments
is only available for nodes built with the developer_mode
feature, which I'm pretty sure is not the case for the Hiro nodes that generate these snapshots. Can you build your node with developer_mode
disabled and try again?
That missing field
pre_comments
is only available for nodes built with thedeveloper_mode
feature, which I'm pretty sure is not the case for the Hiro nodes that generate these snapshots. Can you build your node withdeveloper_mode
disabled and try again?
something like this?
cargo build --no-default-features --features monitoring_prom,slog_json --release
I don't see an option to disable that single feature outside of manually editing files.
other option would be to sync from genesis and share that chainstate, correct?
That missing field
pre_comments
is only available for nodes built with thedeveloper_mode
feature, which I'm pretty sure is not the case for the Hiro nodes that generate these snapshots. Can you build your node withdeveloper_mode
disabled and try again?
This fixed the issue, thank you! I'm happy to document this, just point me in the right direction.
That missing field
pre_comments
is only available for nodes built with thedeveloper_mode
feature, which I'm pretty sure is not the case for the Hiro nodes that generate these snapshots. Can you build your node withdeveloper_mode
disabled and try again?something like this?
cargo build --no-default-features --features monitoring_prom,slog_json --release
This is the route I took, and it is working.
I don't see an option to disable that single feature outside of manually editing files.
I don't either.
I spoke too spoon, after all the btc blocks were processed, it panic'd with the same error. Going to look deeper into how to disable developer-mode
update: the diff/patch idea did not work. using a diff like this:
diff --git a/clarity/Cargo.toml b/clarity/Cargo.toml
index 523b95cba..86089991d 100644
--- a/clarity/Cargo.toml
+++ b/clarity/Cargo.toml
@@ -50,7 +50,7 @@ assert-json-diff = "1.0.0"
# criterion = "0.3"
[features]
-default = ["developer-mode"]
+default = []
developer-mode = []
slog_json = ["stacks_common/slog_json"]
testing = []
diff --git a/stacks-common/Cargo.toml b/stacks-common/Cargo.toml
index 19cd58172..28c7c9e2d 100644
--- a/stacks-common/Cargo.toml
+++ b/stacks-common/Cargo.toml
@@ -62,7 +62,7 @@ rstest_reuse = "0.1.3"
assert-json-diff = "1.0.0"
[features]
-default = ["developer-mode"]
+default = []
developer-mode = []
slog_json = ["slog-json"]
testing = []
diff --git a/stackslib/Cargo.toml b/stackslib/Cargo.toml
index 129ce3e8c..fcd917fd6 100644
--- a/stackslib/Cargo.toml
+++ b/stackslib/Cargo.toml
@@ -100,7 +100,7 @@ rstest = "0.17.0"
rstest_reuse = "0.5.0"
[features]
-default = ["developer-mode"]
+default = []
profile-sqlite = []
disable-costs = []
developer-mode = []
produces errors like this:
Compiling clarity v0.0.1 (/home/admin/stacks-blockchain/clarity)
error[E0609]: no field `span` on type `PreSymbolicExpression`
--> clarity/./src/vm/ast/parser/v2/mod.rs:201:29
|
201 | comment.span = token.span.clone();
| ^^^^ unknown field
|
= note: available fields are: `pre_expr`, `id`
error[E0609]: no field `span` on type `PreSymbolicExpression`
--> clarity/./src/vm/ast/parser/v2/mod.rs:228:83
|
228 | self.add_diagnostic(ParseErrors::ExpectedWhitespace, node.span.clone())?;
| ^^^^ unknown field
|
= note: available fields are: `pre_expr`, `id`
however, removing .clarity/Cargo.toml
from the patchfile compiles, but produces the same error reported by @EmbeddedAndroid
@obycode - any ideas here?
I'm seeing the same as @wileyj
note for others: syncing from genesis works but it's less than ideal vs using an existing chainstate. i'm running a genesis sync, but it will take a few days to reach chain tip before i can share an archive
cc @jferrant since they hit the same error the other day
The intention is that developer-mode
should not be enabled when building a node, only when pulling the clarity crate into other tools, like clarinet. I'm looking into the issues you've mentioned now.
The intention is that
developer-mode
should not be enabled when building a node, only when pulling the clarity crate into other tools, like clarinet. I'm looking into the issues you've mentioned now.
What's the right way to disable developer-mode
during a build? We've tried --no-default-features
and hand edit the Cargo.toml to remove the defaults.
It used to be the case that the default build does have developer-mode
disabled. I usually build like this:
cd stacks-blockchain/testnet/stacks-node
cargo build --features monitoring_prom,slog_json --release
Maybe something went wrong with the refactoring into stackslib. I'm digging into it now.
I think I see the problem. For some reason, the developer-mode
is included in the default
features for the clarity
crate. Every other place in stacks-blockchain
that includes a dependency on clarity
includes a slog_json
feature, which in turn, enables the slog_json
feature in clarity
(disabling the default
features, including developer-mode
). The new crate, libstackerdb
does not include this slog_json
feature, so it never overrides the default features of clarity, and that's what causes this issue. I think we can remove developer-mode
from the default
features for clarity
and update dependencies (such as Clarinet) that want to enable that feature to do so explicitly.
I can open a PR for this change.
Can you verify if #3955 resolves the issue?
Can you verify if #3955 resolves the issue?
Trying this now. I'll report back. Thanks @obycode
Can you verify if #3955 resolves the issue?
Trying this now. I'll report back. Thanks @obycode
I tried a similar patches last night:
However it fails to compile with:
88.39 Compiling clarity v0.0.1 (/src/clarity)
90.31 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.31 --> clarity/./src/vm/ast/parser/v2/mod.rs:201:29
90.31 |
90.31 201 | comment.span = token.span.clone();
90.31 | ^^^^ unknown field
90.31 |
90.31 = note: available fields are: `pre_expr`, `id`
90.31
90.31 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.31 --> clarity/./src/vm/ast/parser/v2/mod.rs:228:83
90.31 |
90.31 228 | self.add_diagnostic(ParseErrors::ExpectedWhitespace, node.span.clone())?;
90.31 | ^^^^ unknown field
90.31 |
90.31 = note: available fields are: `pre_expr`, `id`
90.31
90.31 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.31 --> clarity/./src/vm/ast/parser/v2/mod.rs:241:31
90.31 |
90.31 241 | ... e.span = span.clone();
90.31 | ^^^^ unknown field
90.31 |
90.31 = note: available fields are: `pre_expr`, `id`
90.31
90.31 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.31 --> clarity/./src/vm/ast/parser/v2/mod.rs:258:31
90.31 |
90.31 258 | ... e.span = span.clone();
90.31 | ^^^^ unknown field
90.31 |
90.31 = note: available fields are: `pre_expr`, `id`
90.31
90.32 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.32 --> clarity/./src/vm/ast/parser/v2/mod.rs:310:35
90.32 |
90.32 310 | ... e.span = open_tuple.span.clone();
90.32 | ^^^^ unknown field
90.32 |
90.32 = note: available fields are: `pre_expr`, `id`
90.32
90.32 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.32 --> clarity/./src/vm/ast/parser/v2/mod.rs:342:37
90.32 |
90.32 342 | placeholder.span = token.span.clone();
90.32 | ^^^^ unknown field
90.32 |
90.32 = note: available fields are: `pre_expr`, `id`
90.32
90.32 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.32 --> clarity/./src/vm/ast/parser/v2/mod.rs:349:27
90.32 |
90.32 349 | e.span = open_tuple.span.clone();
90.32 | ^^^^ unknown field
90.32 |
90.32 = note: available fields are: `pre_expr`, `id`
90.32
90.32 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.32 --> clarity/./src/vm/ast/parser/v2/mod.rs:387:45
90.32 |
90.32 387 | ... placeholder.span = eof_span;
90.32 | ^^^^ unknown field
90.32 |
90.32 = note: available fields are: `pre_expr`, `id`
90.32
90.32 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.32 --> clarity/./src/vm/ast/parser/v2/mod.rs:396:35
90.32 |
90.32 396 | ... e.span = open_tuple.span.clone();
90.32 | ^^^^ unknown field
90.32 |
90.32 = note: available fields are: `pre_expr`, `id`
90.32
90.33 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.33 --> clarity/./src/vm/ast/parser/v2/mod.rs:427:27
90.33 |
90.33 427 | e.span = open_tuple.span.clone();
90.33 | ^^^^ unknown field
90.33 |
90.33 = note: available fields are: `pre_expr`, `id`
90.33
90.33 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.33 --> clarity/./src/vm/ast/parser/v2/mod.rs:448:27
90.33 |
90.33 448 | e.span = open_tuple.span.clone();
90.33 | ^^^^ unknown field
90.33 |
90.33 = note: available fields are: `pre_expr`, `id`
90.33
90.33 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.33 --> clarity/./src/vm/ast/parser/v2/mod.rs:492:19
90.33 |
90.33 492 | e.span = open_tuple.span.clone();
90.33 | ^^^^ unknown field
90.33 |
90.33 = note: available fields are: `pre_expr`, `id`
90.33
90.33 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.33 --> clarity/./src/vm/ast/parser/v2/mod.rs:510:19
90.33 |
90.33 510 | e.span = open_tuple.span.clone();
90.33 | ^^^^ unknown field
90.33 |
90.33 = note: available fields are: `pre_expr`, `id`
90.33
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:533:29
90.34 |
90.34 533 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:565:33
90.34 |
90.34 565 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:572:33
90.34 |
90.34 572 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:584:29
90.34 |
90.34 584 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:596:33
90.34 |
90.34 596 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:629:37
90.34 |
90.34 629 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.34 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.34 --> clarity/./src/vm/ast/parser/v2/mod.rs:641:37
90.34 |
90.34 641 | placeholder.span = span;
90.34 | ^^^^ unknown field
90.34 |
90.34 = note: available fields are: `pre_expr`, `id`
90.34
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:652:33
90.35 |
90.35 652 | placeholder.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:666:37
90.35 |
90.35 666 | placeholder.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:675:22
90.35 |
90.35 675 | expr.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:681:22
90.35 |
90.35 681 | expr.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:688:18
90.35 |
90.35 688 | expr.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:712:29
90.35 |
90.35 712 | placeholder.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:718:29
90.35 |
90.35 718 | placeholder.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.35 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.35 --> clarity/./src/vm/ast/parser/v2/mod.rs:726:25
90.35 |
90.35 726 | placeholder.span = span;
90.35 | ^^^^ unknown field
90.35 |
90.35 = note: available fields are: `pre_expr`, `id`
90.35
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:738:29
90.36 |
90.36 738 | placeholder.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:767:33
90.36 |
90.36 767 | placeholder.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:776:33
90.36 |
90.36 776 | placeholder.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:784:29
90.36 |
90.36 784 | placeholder.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:796:33
90.36 |
90.36 796 | placeholder.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:802:18
90.36 |
90.36 802 | expr.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.36 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.36 --> clarity/./src/vm/ast/parser/v2/mod.rs:806:18
90.36 |
90.36 806 | expr.span = span;
90.36 | ^^^^ unknown field
90.36 |
90.36 = note: available fields are: `pre_expr`, `id`
90.36
90.37 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.37 --> clarity/./src/vm/ast/parser/v2/mod.rs:881:34
90.37 |
90.37 881 | ... expr.span = token.span;
90.37 | ^^^^ unknown field
90.37 |
90.37 = note: available fields are: `pre_expr`, `id`
90.37
90.37 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.37 --> clarity/./src/vm/ast/parser/v2/mod.rs:895:34
90.37 |
90.37 895 | ... expr.span = token.span;
90.37 | ^^^^ unknown field
90.37 |
90.37 = note: available fields are: `pre_expr`, `id`
90.37
90.37 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.37 --> clarity/./src/vm/ast/parser/v2/mod.rs:910:34
90.37 |
90.37 910 | ... expr.span = token.span;
90.37 | ^^^^ unknown field
90.37 |
90.37 = note: available fields are: `pre_expr`, `id`
90.37
90.37 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.37 --> clarity/./src/vm/ast/parser/v2/mod.rs:925:34
90.37 |
90.37 925 | ... expr.span = token.span;
90.37 | ^^^^ unknown field
90.37 |
90.37 = note: available fields are: `pre_expr`, `id`
90.37
90.37 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.37 --> clarity/./src/vm/ast/parser/v2/mod.rs:947:34
90.37 |
90.37 947 | ... expr.span = token.span;
90.37 | ^^^^ unknown field
90.37 |
90.37 = note: available fields are: `pre_expr`, `id`
90.37
90.37 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.37 --> clarity/./src/vm/ast/parser/v2/mod.rs:969:34
90.37 |
90.37 969 | ... expr.span = token.span;
90.37 | ^^^^ unknown field
90.37 |
90.37 = note: available fields are: `pre_expr`, `id`
90.37
90.38 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.38 --> clarity/./src/vm/ast/parser/v2/mod.rs:992:34
90.38 |
90.38 992 | ... expr.span = token.span;
90.38 | ^^^^ unknown field
90.38 |
90.38 = note: available fields are: `pre_expr`, `id`
90.38
90.38 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.38 --> clarity/./src/vm/ast/parser/v2/mod.rs:1013:31
90.38 |
90.38 1013 | ... e.span = token.span;
90.38 | ^^^^ unknown field
90.38 |
90.38 = note: available fields are: `pre_expr`, `id`
90.38
90.38 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.38 --> clarity/./src/vm/ast/parser/v2/mod.rs:1018:31
90.38 |
90.38 1018 | ... e.span = token.span;
90.38 | ^^^^ unknown field
90.38 |
90.38 = note: available fields are: `pre_expr`, `id`
90.38
90.38 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.38 --> clarity/./src/vm/ast/parser/v2/mod.rs:1023:31
90.38 |
90.38 1023 | ... e.span = token.span;
90.38 | ^^^^ unknown field
90.38 |
90.38 = note: available fields are: `pre_expr`, `id`
90.38
90.40 error[E0609]: no field `span` on type `&PreSymbolicExpression`
90.40 --> clarity/./src/vm/ast/errors.rs:118:43
90.40 |
90.40 118 | self.diagnostic.spans = vec![expr.span.clone()];
90.40 | ^^^^ unknown field
90.40 |
90.40 = note: available fields are: `pre_expr`, `id`
90.40
90.40 error[E0609]: no field `span` on type `&PreSymbolicExpression`
90.40 --> clarity/./src/vm/ast/errors.rs:123:56
90.40 |
90.40 123 | self.diagnostic.spans = exprs.iter().map(|e| e.span.clone()).collect();
90.40 | ^^^^ unknown field
90.40 |
90.40 = note: available fields are: `pre_expr`, `id`
90.40
90.41 error[E0609]: no field `span` on type `SymbolicExpression`
90.41 --> clarity/./src/vm/ast/sugar_expander/mod.rs:140:18
90.41 |
90.41 140 | expr.span = pre_expr.span.clone();
90.41 | ^^^^ unknown field
90.41 |
90.41 = note: available fields are: `expr`, `id`
90.41
90.42 error[E0609]: no field `span` on type `PreSymbolicExpression`
90.42 --> clarity/./src/vm/ast/sugar_expander/mod.rs:140:34
90.42 |
90.42 140 | expr.span = pre_expr.span.clone();
90.42 | ^^^^ unknown field
90.42 |
90.42 = note: available fields are: `pre_expr`, `id`
90.42
91.20 error[E0609]: no field `span` on type `&SymbolicExpression`
91.20 --> clarity/./src/vm/analysis/errors.rs:213:43
91.20 |
91.20 213 | self.diagnostic.spans = vec![expr.span.clone()];
91.20 | ^^^^ unknown field
91.20 |
91.20 = note: available fields are: `expr`, `id`
91.20
91.20 error[E0609]: no field `span` on type `&SymbolicExpression`
91.20 --> clarity/./src/vm/analysis/errors.rs:218:56
91.20 |
91.20 218 | self.diagnostic.spans = exprs.iter().map(|e| e.span.clone()).collect();
91.20 | ^^^^ unknown field
91.20 |
91.20 = note: available fields are: `expr`, `id`
91.20
91.65 error[E0609]: no field `span` on type `&SymbolicExpression`
91.65 --> clarity/./src/vm/coverage.rs:147:41
91.65 |
91.65 147 | let line = cur_expr.span.start_line;
91.65 | ^^^^ unknown field
91.65 |
91.65 = note: available fields are: `expr`, `id`
91.65
91.78 For more information about this error, try `rustc --explain E0609`.
91.78 error: could not compile `clarity` (lib) due to 52 previous errors
91.79 warning: build failed, waiting for other jobs to finish...
93.30 warning: `stacks-common` (lib) generated 1 warning (run `cargo fix --lib -p stacks-common` to apply 1 suggestion)
Yes, @wileyj pointed that out to me. Sorry, I should've tried that. We'll need to fix that so that developer-mode
is not required to build that crate. For a quicker workaround, I recommended this change, which @wileyj is trying now:
diff --git a/libstackerdb/Cargo.toml b/libstackerdb/Cargo.toml
index 53cf128ed..17c563770 100644
--- a/libstackerdb/Cargo.toml
+++ b/libstackerdb/Cargo.toml
@@ -31,3 +31,6 @@ sha2 = { version = "0.10", features = ["asm"] }
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), target_env = "msvc"))'.dependencies]
sha2 = { version = "0.10" }
+
+[features]
+slog_json = ["clarity/slog_json"]
\ No newline at end of file
diff --git a/stackslib/Cargo.toml b/stackslib/Cargo.toml
index 129ce3e8c..e931e08ad 100644
--- a/stackslib/Cargo.toml
+++ b/stackslib/Cargo.toml
@@ -105,7 +105,7 @@ profile-sqlite = []
disable-costs = []
developer-mode = []
monitoring_prom = ["prometheus"]
-slog_json = ["slog-json", "stacks-common/slog_json", "clarity/slog_json", "pox-locking/slog_json"]
+slog_json = ["slog-json", "stacks-common/slog_json", "clarity/slog_json", "pox-locking/slog_json", "libstackerdb/slog_json"]
testing = []
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(target_env = "msvc")))'.dependencies]
compiling now! i'll report back if it is successful or not
Yes, @wileyj pointed that out to me. Sorry, I should've tried that. We'll need to fix that so that
developer-mode
is not required to build that crate. For a quicker workaround, I recommended this change, which @wileyj is trying now:diff --git a/libstackerdb/Cargo.toml b/libstackerdb/Cargo.toml index 53cf128ed..17c563770 100644 --- a/libstackerdb/Cargo.toml +++ b/libstackerdb/Cargo.toml @@ -31,3 +31,6 @@ sha2 = { version = "0.10", features = ["asm"] } [target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), target_env = "msvc"))'.dependencies] sha2 = { version = "0.10" } + +[features] +slog_json = ["clarity/slog_json"] \ No newline at end of file diff --git a/stackslib/Cargo.toml b/stackslib/Cargo.toml index 129ce3e8c..e931e08ad 100644 --- a/stackslib/Cargo.toml +++ b/stackslib/Cargo.toml @@ -105,7 +105,7 @@ profile-sqlite = [] disable-costs = [] developer-mode = [] monitoring_prom = ["prometheus"] -slog_json = ["slog-json", "stacks-common/slog_json", "clarity/slog_json", "pox-locking/slog_json"] +slog_json = ["slog-json", "stacks-common/slog_json", "clarity/slog_json", "pox-locking/slog_json", "libstackerdb/slog_json"] testing = [] [target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(target_env = "msvc")))'.dependencies]
no dice:
ERRO [1695234201.157389] [testnet/stacks-node/src/main.rs:58] [chains-coordinator-0.0.0.0:20443] Process abort due to thread panic: panicked at 'Failed to deserialize vm.Value: Error("missing field `pre_comments`", line: 1, column: 471)', clarity/./src/vm/database/structures.rs:124:1
Confirmed that the fix is: https://github.com/stacks-network/stacks-blockchain/pull/3955
seems to be some regression when the branch was merged to develop. working on narrowing down which one; re-opening this issue to track
I missed that developer-mode was turned on by default in stackslib as well. I just opened #3978 to disable that. I think that should resolve the issue.
I missed that developer-mode was turned on by default in stackslib as well. I just opened #3978 to disable that. I think that should resolve the issue.
confirmed the PR works as expected, thanks!
Describe the bug I've built the
develop
(https://github.com/stacks-network/stacks-blockchain/commit/2eea67546c39e54ff2bb74d8a538367615e033e6) branch to run on a mainnet node, and it crashes with the following output:This only occurs when there is existing blockchain data or you restore from a snapshot. If you don't have existing data, the node syncs.
Steps To Reproduce
develop
branchExpected behavior The stacks node runs, and migrates any data sources to new schema if required.
Environment (please complete the following information):
develop
(https://github.com/stacks-network/stacks-blockchain/commit/2eea67546c39e54ff2bb74d8a538367615e033e6)Additional context The intent is to setup a node to do some signer / DKG testing, and thus the need to run from the tip of develop. We have a node doing a fresh sync but will take a few weeks to complete. It would be ideal if we could speed up that process by using the provided snapshots from hiro.