trying to activate more thorns than compiled into Cactus leads to strange error message

Issue #1558 closed
Roland Haas created an issue

Right now if one tries to activate more thorns than the total number of thorns compiled into the executable, Cactus aborts with

WARNING level 0 in thorn Cactus processor 0 host horizon.tapir.caltech.edu
  (line 951 of /mnt/data/rhaas/postdoc/gr/Zelmani/configs/null/build/Cactus/main/ActiveThorns.c):
  -> Internal error

this is utimately due to Cactus creating a list of maximum size number-of-compiled-in-thorns to record the number of thorns that are requested to be activated.

The attached patches automatically grows this list whenever it would otherwise be too small (doubles the size).

An alternative would be to implement stringlist using a std::map object, however the mapping of the std::map interface to what StringList provides is cumbersome.

ok to apply?

Keyword:

Comments (5)

  1. Erik Schnetter
    • removed comment

    Please apply.

    I don't think it makes sense to replace the StringList implementation by map. However, the places that use StringList should slowly be converted to use map etc. instead.

  2. Roland Haas reporter
    • changed status to open
    • removed comment

    Using std::map directly in the clients is occasionally work-intensive since the callers are usually C codes and C++ (required to use std::map directly) is stricter eg when it comes automatic casts of pointers to void* (eg passing a const pointer to free()). I agree though, touching this is not worthwhile right now.

    Thank you for the review.

    Applied as rev 5097 of the flesh.

  3. Log in to comment