Scan Failures
Troubleshoot scan errors and failures. --- Missing dependencies. Ensure your upload includes: Foundry: bash zip -r project.zip src/ lib/ foundry.toml...
Scan Failures
Troubleshoot scan errors and failures.
"Compilation Failed"
Most Common Cause
Missing dependencies. Ensure your upload includes:
Foundry:
zip -r project.zip src/ lib/ foundry.toml remappings.txt
Hardhat:
zip -r project.zip contracts/ node_modules/@openzeppelin/ hardhat.config.js
Check Compiler Version
Verify pragma matches supported versions:
pragma solidity 0.8.20; // Supported
pragma solidity 0.4.11; // May have issues
Supported versions:
- Solidity: 0.5.x - 0.8.x (0.8.x recommended)
- Vyper: 0.2.x - 0.3.x
Fix Import Errors
Error: Source "@openzeppelin/contracts/token/ERC20/ERC20.sol" not found
Solutions:
- Include the dependency in upload
- Check remapping configuration
- Verify import path is correct
"Scan Timed Out"
Causes
- Very large codebase
- Complex contracts
- Deep preset with many scanners
Solutions
- Use Quick preset for initial testing
- Exclude test files to reduce scope
- Split large projects into separate scans
- Increase timeout (Enterprise)
Preset Timeouts
| Preset | Default Timeout |
|---|---|
| Quick | 5 minutes |
| Standard | 15 minutes |
| Deep | 60 minutes |
"Scanner Error"
Individual Scanner Failures
If one scanner fails, others may still complete. Check:
- Which scanner failed
- Error message details
- Whether issue is in your code
Common Scanner Issues
Slither:
Error: Slither analysis failed
- Usually compilation issue
- Check Solidity version compatibility
Mythril:
Error: Mythril timed out
- Complex contracts take longer
- Consider Standard preset instead of Deep
Echidna:
Error: No properties found
- Not an error - just means no invariants to test
- Add
fuzz_functions for better coverage
"Rate Limit Exceeded"
During Scan
Error: Too many concurrent scans
Concurrent scan limits:
| Plan | Concurrent Scans |
|---|---|
| Free | 1 |
| Developer | 3 |
| Startup | 10 |
| Professional | 25 |
Solution: Wait for current scans to complete.
API Rate Limit
Error: API rate limit exceeded
Wait for limit reset (check Retry-After header) or upgrade plan.
"Internal Error"
Temporary Issues
If you see:
Error: Internal server error. Please try again.
Try:
- Wait a few minutes
- Retry the scan
- Check status page for outages
- Contact support if persists
Persistent Issues
If error keeps occurring:
- Try with a different/smaller file
- Try Standard instead of Deep preset
- Check for special characters in code
- Contact support with details
Partial Results
Some Scanners Show Results, Others Don't
Normal behavior - different scanners:
- Have different capabilities
- May not find issues
- May timeout individually
No Vulnerabilities Found
This can be good news! But verify:
- Scan actually completed
- Correct files were scanned
- Appropriate preset used
Debugging Steps
1. Verify Local Compilation
# Foundry
forge build --force
# Hardhat
npx hardhat compile --force
2. Check Upload Contents
# List archive contents
unzip -l project.zip
# Verify dependencies included
unzip -l project.zip | grep openzeppelin
3. Try Minimal Upload
Create minimal test:
# Single file test
blocksecops scan Token.sol --preset quick
4. Check Error Details
Expand error message in UI for full details including:
- Compilation output
- Scanner stderr
- Stack traces
Scanner-Specific Issues
Slither Not Finding Issues
Slither is conservative. If you expect findings:
- Check Solidity version compatibility
- Verify detector is enabled
- Some patterns may not trigger
Mythril Running Long
Symbolic execution is compute-intensive:
- Normal for complex contracts
- Consider Quick/Standard preset
- Enterprise can increase timeout
Echidna Shows Nothing
Echidna needs properties to test:
// Add fuzz properties
function echidna_balance_positive() public view returns (bool) {
return balanceOf[address(this)] >= 0;
}
Re-running Failed Scans
From UI
- Go to failed scan
- Click "Retry Scan"
- Optionally adjust settings
- Start new scan
From API
# Start new scan with same contract
curl -X POST "https://api.blocksecops.com/api/v1/scans" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contract_id": "CONTRACT_ID", "preset": "standard"}'
Contact Support
If issues persist, provide:
- Scan ID
- Exact error message
- Contract info (language, size, framework)
- Steps already tried
See Contact Support.