Build Issues
Guest Build Failures After Pulling Changes
Symptom: Guest builds fail after pulling the latest changes from the repository. Solution: Reinstall the Jolt CLI:After pulling changes that affect the Jolt CLI, you must reinstall it to ensure guest builds use the latest version.
Missing Toolchain
Symptom: Build errors related to Rust toolchain or target not found. Solution: Ensure you’re using the correct Rust nightly version:rustup is installed, it should automatically install the correct toolchain specified in rust-toolchain.toml.
Symbol Stripping Issues
Symptom: Backtraces show no function names or source locations. Solution: Enable symbol preservation:Runtime Issues
Guest Panics Without Stack Trace
Symptom: Guest program panics but shows no useful debugging information. Solution: EnableJOLT_BACKTRACE to get detailed panic information:
Out of Memory Errors
Symptom: Program crashes with out-of-memory errors during proving. Solutions:- Increase heap size in your
#[jolt::provable]attribute:
- Profile memory usage to identify bottlenecks:
- Optimize your guest code to use less memory.
Trace Length Exceeded
Symptom: Error about maximum trace length being exceeded. Solution: Increasemax_trace_length in your #[jolt::provable] attribute:
Performance Issues
Slow Proving Times
Symptom: Proof generation takes longer than expected. Solutions:- Always use release builds for proving:
- Profile your program to identify bottlenecks:
- Optimize guest code:
- Reduce unnecessary computations
- Minimize memory allocations
- Use efficient algorithms
High Memory Usage During Proving
Symptom: Prover consumes excessive memory. Solution: Use memory profiling to identify heavy allocations:Testing Issues
Tests Failing After Code Changes
Symptom: Tests that previously passed now fail. Solutions:- Run tests with the correct command:
- Run specific tests:
- Test in both standard and ZK modes:
Always use
cargo nextest instead of cargo test when working with Jolt. The project is configured for nextest.Verification Issues
Proof Verification Failures
Symptom: Generated proofs fail verification. Solutions:- Check for transcript mismatches — ensure prover and verifier use the same inputs:
- Verify you’re using matching preprocessing:
- Check for code changes that might affect proof generation.
Development Workflow Issues
Slow Iteration During Development
Symptom: Testing changes takes too long due to full proof generation. Solution: Usetrace_analyze instead of the full prover:
jolt-emu Not Found
Symptom:jolt run command fails with “jolt-emu not found” error.
Solutions:
- Build jolt-emu:
- Specify path explicitly:
- Ensure jolt-emu is in PATH:
Getting Help
If you encounter issues not covered in this guide:
- Check the Jolt Book for detailed documentation
- Search existing GitHub issues
- Open a new issue with a minimal reproducible example
- Include relevant error messages, logs, and your environment details
Alpha Software Warning
Environment Information
When reporting issues, include:- Operating system and version
- Rust toolchain version (
rustup show) - Jolt version (
jolt --version) - Relevant error messages and logs
- Steps to reproduce the issue