Old release thornlists do not work anymore with GetComponents

Issue #2488 new
Frank Löffler created an issue

Currently, obtaining the source code of at least the ET_2011_05 release of the ET is not possible using the ET_2011_05 release notes, nor a current GetComponents. It is likely that this isn't the only one, it's the only one I tried. It's one used for one of the larger ET papers.

Regardless of how hard or even possible it would be to actually build such an old version of the ET on a modern OS environment, it should at least be possible to get the source code, e.g., to try to reproduce published results.

One of the obstacles at the moment is the old svn servers. They are still up and running, but any self-respecting OS will refuse to talk via https to them, because they only talk an old version of ssl, which is now considered insecure (#2069).
One obvious alternative is to use the --anonymous flag of GetComponents. In theory, this should use the http-links inside the list. This, in theory, works. However, it turns out that GetComponents (at least the one from the ET_2011_05 release) has a bug where it still tries to access the repos via https for 'svn info' earlier than checking the --anonymous flag - and then hangs. The fix is easy and small, but I am uncertain whether it is worth fixing it in such an old release (and then also likely others). This may still be an issue for the current version of GetComponents, but that one dies even earlier for such an old thornlist because of "Duplicate checkouts: Cactus" (why is this an error and not just a warning?).

In the end, this means that at the moment there is no version of GetComponents that can be used with that release thornlist, due to a combination of problems. This likely applies to more than that specific release thornlist.

One possible solution would be upgrading the old svn-servers. They still run RedHat 5.11 (2014). In other words, they are a ticking nightmare already because of that. That shouldn't be too hard, but nothing current uses them anymore, so the question is if it's worth doing so.

Another possibility would be to update all release thornlists and/or GetComponents to either (or ideally both):

  • if possible, work with the respective release-version of GetComponents
  • otherwise, work with the current version of GetComponents. I include this here because I think it is possible that the old versions of GetComponents don't have enough features yet to support the current repositories. If this is the case, the old release notes would have to be changed too: they should gain an additional note about the usage of the newer version of GetComponents.

If the thornlists are changed anyway, we could also, in addition:

  • change the location of all thorns to the current locations (but of course the respective release version)

If that last point would be done as well, it would be one step closer to retiring the svn servers. See also some ET meeting notes: http://lists.einsteintoolkit.org/pipermail/users/2019-February/006771.html

Comments (3)

  1. Steven R. Brandt

    So, I just attempted this. I used the ET_2011_05 branch of the CRL repo for GetComponents and typed:
    perl GetComponents --anonymous einsteintoolkit.th

    As near as I can tell, the svn checkouts from svn.einsteintoolkit.org worked, see blow.

    What didn’t work was checkouts from carpetcode.org (which no longer exists). I’m using svn version 1.9.3 on ubuntu xenial.

    Also, I got errors from AEIThorns fatal: Cannot update paths and switch to branch 'ET_2011_05' at the same time.

    $ ls ./Cactus/arrangements/EinsteinInitialData/IDLinearWaves
    COPYRIGHT  doc  interface.ccl  par  param.ccl  README  schedule.ccl  src  test
    

  2. Log in to comment