std exception 'class std::out_of_range' : 'invalid unordered_map<K,T> key' was caught

Hello all,
I use simulink 2020b and when i run my model and it reach the initializing step I get the error " std exception 'class std::out_of_range' : 'invalid unordered_map<K,T> key' was caught ", it doesn't even show where the error is from or which block,
any Idea how to approach this error ?

2 Comments

Can you share the model or exact error message? Some screenshots might help understand the issue better.
I can't share the model but this is the Error I get after compiling and the start of initializing

Sign in to comment.

Answers (1)

Hi Hamza,
The error "class std::out_of_range": "invalid unordered_map<K,T>key" means that the model is trying to access a key in an unordered_map that does not exist. This issue often occurs in complex models that contain nested subsystems or several data dictionaries. Without the model, I can only suggest potential causes.
Possible causes can be:
  • When there is complex interaction between nested subsystems, it may lead to timing issues where one subsystem is trying to access data before it's been generated by another.
  • A block might be trying to access data in the unordered_map before the data is inserted, this data dependency can lead to an invalid key error.
  • When there is custom S-Functions or Embedded MATLAB Functions with internal unordered_map implementation, there could be logic errors or incorrect interactions with other data structures
You can try these to fix the error:
  • Verify your model's subsystem relationships, initialization, and data flow.
  • To identify the problem, use displays, scopes, and limited simulation stepping.
  • Check for logical problems in the custom blocks.
Hope this helps!

Categories

Products

Release

R2020b

Tags

Asked:

on 24 Mar 2025

Answered:

on 26 Mar 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!