Scan Failures

Troubleshoot scan errors and failures. --- Missing dependencies. Ensure your upload includes: Foundry: bash zip -r project.zip src/ lib/ foundry.toml...

Last updated: January 14, 2026

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:

  1. Include the dependency in upload
  2. Check remapping configuration
  3. Verify import path is correct

"Scan Timed Out"

Causes

  • Very large codebase
  • Complex contracts
  • Deep preset with many scanners

Solutions

  1. Use Quick preset for initial testing
  2. Exclude test files to reduce scope
  3. Split large projects into separate scans
  4. 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:

  1. Wait a few minutes
  2. Retry the scan
  3. Check status page for outages
  4. Contact support if persists

Persistent Issues

If error keeps occurring:

  1. Try with a different/smaller file
  2. Try Standard instead of Deep preset
  3. Check for special characters in code
  4. 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

  1. Go to failed scan
  2. Click "Retry Scan"
  3. Optionally adjust settings
  4. 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:

  1. Scan ID
  2. Exact error message
  3. Contract info (language, size, framework)
  4. Steps already tried

See Contact Support.