Skip to content

Prosimos simulation properties parser fails #9

@iharsuvorau

Description

@iharsuvorau

Hi @orlenyslp,

Here's the case where Prosimos crashes. It's a standard test case that was tested before. Maybe there were some changes lately in Prosimos, at least, there are new commits. I'm attaching the model and JSON files too below. Here's the traceback:

$ diff_res_bpsim start-simulation --bpmn_path /Users/ihar/Projects/PIX/simod/Prosimos\ Debugging/PurchasingExample.bpmn --json_path /Users/ihar/Projects/PIX/simod/Prosimos\ Debugging/PurchasingExample.json --log_out_path /Users/ihar/Projects/PIX/simod/Prosimos\ Debugging/PurchasingExample.csv --total_cases 449

Traceback (most recent call last):
  File "/Users/ihar/.miniconda3/envs/simod/bin/diff_res_bpsim", line 33, in <module>
    sys.exit(load_entry_point('DiffResBP-Simulator', 'console_scripts', 'diff_res_bpsim')())
  File "/Users/ihar/.miniconda3/envs/simod/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/ihar/.miniconda3/envs/simod/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/ihar/.miniconda3/envs/simod/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/ihar/.miniconda3/envs/simod/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/ihar/.miniconda3/envs/simod/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/ihar/.miniconda3/envs/simod/lib/python3.9/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/ihar/Projects/PIX/simod/external_tools/Prosimos/diff_res_bpsim.py", line 35, in start_simulation
    run_simulation(bpmn_path, json_path, total_cases, stat_out_path, log_out_path, starting_at)
  File "/Users/ihar/Projects/PIX/simod/external_tools/Prosimos/bpdfr_simulation_engine/simulation_engine.py", line 133, in run_simulation
    diffsim_info = SimDiffSetup(bpmn_path, json_path)
  File "/Users/ihar/Projects/PIX/simod/external_tools/Prosimos/bpdfr_simulation_engine/simulation_setup.py", line 18, in __init__
    = parse_json_sim_parameters(json_path)
  File "/Users/ihar/Projects/PIX/simod/external_tools/Prosimos/bpdfr_simulation_engine/simulation_properties_parser.py", line 20, in parse_json_sim_parameters
    resources_map = parse_resource_profiles(json_data["resource_profiles"])
  File "/Users/ihar/Projects/PIX/simod/external_tools/Prosimos/bpdfr_simulation_engine/simulation_properties_parser.py", line 54, in parse_resource_profiles
    for r_info in pool_entry["resource_list"]:
TypeError: string indices must be integers

The value of pool_entry during crash was QBP_DEFAULT_RESOURCE, so calling pool_entry["resource_list"] fails, because it's not a dict. However, I don't know what to fix here. Could you please help?

Input files: https://owncloud.ut.ee/owncloud/index.php/s/7sJkEGZaeSeKeLz

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions