influxdata/influxdb · warning · Error

heap dump failed

Error message

heap dump failed: {0}

What it means

Wraps jemalloc_pprof_http::Error raised when an on-demand heap profile dump fails. InfluxDB3 exposes a debug/ops endpoint that snapshots jemalloc heap profiles; failures in the profiling machinery (jemalloc not enabled, profiling not compiled in, dump failure) produce this error.

Solutions

  1. Confirm the server binary was built with the jemalloc pprof feature enabled.
  2. Use a build/image that includes profiling support (e.g. a debug or profiling-enabled image).
  3. Read the inner jemalloc_pprof_http error for the specific allocator failure.
  4. Fall back to other memory diagnostics (RSS metrics, /metrics endpoint) on unsupported builds.

Example fix

// before
// request heap dump on a default binary without profiling
curl 'http://localhost:8181/debug/heap'  # heap dump failed
// after
// run a profiling-enabled build
cargo build --features jemalloc_replacing_malloc && curl 'http://localhost:8181/debug/heap'
Defensive patterns

Strategy: fallback

Validate before calling

// only call the heap endpoint when profiling is known-enabled
if (!buildHasJemallocPprof) return alternativeMemoryDiagnostics();

Try / catch

try { const p = await fetch(`${host}/debug/heap`); } catch (e) { if (e.message.startsWith('heap dump failed')) return useMetricsFallback(); throw e; }

Prevention

When it happens

Trigger: Hitting the heap-profile/debug HTTP endpoint on a build without jemalloc profiling support compiled in, or when the pprof dump cannot be generated from the allocator.

Common situations: Requesting heap dumps on official binaries or container images built without the jemalloc-pprof feature; debugging memory growth on unsupported builds.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/6285b61de0a6935b. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_server/src/http.rs:349

    #[error("must provide only one InfluxQl statement per query")]
    InfluxqlSingleStatement,

    #[error("must specify a 'db' parameter, or provide the database in the InfluxQL query")]
    InfluxqlNoDatabase,

    #[error(
        "provided a database in both the parameters ({param_db}) and \
        query string ({query_db}) that do not match, if providing a query \
        that specifies the database, you can omit the 'database' parameter \
        from your request"
    )]
    InfluxqlDatabaseMismatch { param_db: String, query_db: String },

    #[error("Operation with object store failed: {0}")]
    ObjectStore(#[from] object_store::Error),

    #[error("heap dump failed: {0}")]
    HeapPprof(#[from] jemalloc_pprof_http::Error),

    #[error(transparent)]
    Catalog(#[from] CatalogError),

    #[error("Python plugins not enabled on this server")]
    PythonPluginsNotEnabled,

    #[error("Plugin error: {0}")]
    Plugin(#[from] influxdb3_processing_engine::plugins::PluginError),

    #[error("Processing engine error: {0}")]
    ProcessingEngine(#[from] influxdb3_processing_engine::manager::ProcessingEngineError),

    #[error(transparent)]
    Influxdb3TypesHttp(#[from] influxdb3_types::http::Error),

    #[error("Authorization error: {0}")]

View on GitHub (pinned to 06200ef96b)