sst-core
sst-core copied to clipboard
-output-prefix-core="@t" causes a segment violation
New Issue for sst-core
1 - Detailed description of problem or enhancement
$ sst ... --verbose --output-prefix-core=" foo @t"
...
SSTPythonModel: Construction of config graph with Python is complete.
terminate called after throwing an instance of 'std::out_of_range'
what(): _Map_base::at
[node0:mpi_rank_0][error_sighandler] Caught error: Aborted (signal 6)
Aborted
2 - Describe how to reproduce the issue
Add this to any otherwise working invocation: --output-prefix-core=" foo @t"
It doesn't seem to matter where the @t
is placed.
3 - What Operating system(s) and versions NA
4 - What version of external libraries (Boost, MPI) NA
5 - Provide sha1 of all relevant sst repositories (sst-core, sst-elements, etc) Current devel@427a1425
6 - Fill out Labels, Milestones, and Assignee fields as best possible
Hmmm. This happens when you use @t in calls to output that happen before a simulation object is created (i.e., there is not yet any time available). I'll have to figure out how to special case this or change all the calls before time exists to ignore the prefix.
It works in my Components during the constructors, but I see that they print 0
for the time.
Better IMO to ignore the @t
, or print 0
, rather than ignore the user-supplied prefix entirely.
I notice that not all verbose output uses the prefix (either default or user-supplied): SSTPythonModel:
in the above snippet.
Yea, the prefix only applies to the core’s Output object. Any other object can set their own prefix.
That didn't come from my Python, but from the SST Python model parser. As a user I would consider that as part of the core...
@pdbj Is this still an issue?
Just looked at the Output code and this is still an issue. I can change it such that it will print a dash (-) for @t if it's called before a simulation object exists.