Run_classifier return -6

Question/Issue:

I’m experiencing an issue when deploying two Edge Impulse models using the Multi-Project Deployment framework. The deployment process itself completes successfully, and the generated library compiles and runs correctly on my ESP32. However, when executing inference, the serial console reports:

run_classifier error -6

The issue only occurs when combining projects 1032227 and 995604 in a multi-project deployment.

Project ID:

  • 1032227
  • 995604

Context/Use case:

I am deploying multiple Edge Impulse models on a single ESP32 using the Multi-Project Deployment framework. The goal is to run inference on both models from the same firmware image.

I have previously performed a successful multi-project deployment using projects 995604 and 1014976, which suggests that the deployment workflow and integration code are correct. The problem appears to be related specifically to project 1032227.

Steps Taken:

  1. Exported the Edge Impulse libraries for projects 1032227 and 995604.
  2. Created a Multi-Project Deployment following the Edge Impulse documentation.
  3. Successfully compiled and flashed the firmware to an ESP32.
  4. Verified that the application starts correctly.
  5. Executed inference using run_classifier().
  6. Observed that the classifier returns run_classifier error -6.

Additional tests:

  • Deploying project 995604 alone works correctly.
  • Deploying project 1032227 alone works correctly.
  • A multi-project deployment using projects 995604 and 1014976 works correctly.
  • The issue only appears when combining projects 1032227 and 995604.

Expected Outcome:

Both models should initialize and run inference successfully within the multi-project deployment environment.

Actual Outcome:

Inference fails with:

run_classifier error -6

when using projects 1032227 and 995604 together.

Reproducibility:

  • [x] Always
  • [ ] Sometimes
  • [ ] Rarely

Environment:

  • Platform: ESP32
  • Build Environment Details: Arduino IDE
  • OS Version: Windows
  • Edge Impulse Version (Library Deployment): [Please let me know if a specific version number is required and where I should verify it.]
  • Edge Impulse CLI Version: N/A
  • Project Version: Latest versions of the projects
  • Custom Blocks / Impulse Configuration: Standard Edge Impulse deployment, no custom DSP or custom learning blocks.

Logs/Attachments:

Serial output:

run_classifier error -6

I can provide the full serial log, impulse configurations, and deployment libraries if needed.

Additional Information:

Since:

  • Project 995604 works individually.
  • Project 1032227 works individually.
  • Multi-project deployment works with projects 995604 and 1014976.

I suspect there may be a compatibility issue, memory conflict, generated symbol conflict, or model-specific configuration in project 1032227 that causes run_classifier() to fail when used in a multi-project deployment.

Has anyone encountered a similar issue, or can someone explain what error code -6 specifically indicates in the context of Multi-Project Deployments?