name: cairo-snforge-troubleshooting
description: Diagnose and fix common snforge test errors including Sierra compilation failures, cost computation cycles, and version mismatches; use when tests fail with cryptic errors even though scarb build succeeds.
Cairo snforge Troubleshooting
Overview
Guide debugging snforge test failures, particularly Sierra compilation errors that occur after successful Cairo compilation.
Quick Use
- Read
references/common-errors.mdbefore diagnosing. - Check
Scarb.tomlsettings first -enable-gas = falsecauses many issues. - Verify toolchain version compatibility (snforge, universal-sierra-compiler, Cairo).
- Generic implementations need proper trait bounds.
Response Checklist
- If error mentions "cycle during cost computation": check
enable-gassetting. - If error mentions "universal-sierra-compiler": check version compatibility.
- If generic code fails: ensure
+Drop<T>,+Copy<T>bounds and struct derives. - If
scarb buildpasses butscarb testfails: issue is test-specific compilation.
Common Error Patterns
"unexpected cycle during cost computation"
Cause: enable-gas = false in [cairo] section of Scarb.toml
Fix: Remove enable-gas = false or set to true
"Error while compiling Sierra"
Cause: Version mismatch between Cairo and universal-sierra-compiler
Fix: Run snfoundryup to update toolchain
Generic impl compilation issues
Cause: Missing trait bounds on generic implementations
Fix: Add +Drop<T>, +Copy<T> to impl and #[derive(Drop, Copy)] to structs
Example Requests
- "My tests fail with 'unexpected cycle during cost computation'"
- "snforge test fails but scarb build works"
- "universal-sierra-compiler error after Cairo upgrade"