- removed comment
Parallel checkout fails on systems with threading missing from the perl installation
One of the participants at the EinsteinToolkit workshop tried to checkout Cactus on a machine she had access to. Apparently threading was missing from the perl installation and checking out with --parallel failed with the error:
Can't call method "enqueue" on an undefined value at ./GetComponents line 1025.
Checking out serially works. This suggests that some check for the threading is missing or not taken into account properly.
Keyword: newuser
Keyword: backport
Comments (10)
-
-
- removed comment
-
- changed status to open
- removed comment
I am very confused as to why setting $PARALLEL=1 helped. The code only enters the block that contains line 1025 if $PARALLEL==1. So the actual bug seems to be to blindly trust the user when --parallel is given and setting $PARALLEL=1. Instead I suggest to add a second variable $HAVE_PARALLEL that is only set to 1 if the test for the "threads" package around line 48 succeeds.
To answer sbrandt's question: teh line was commented out when it was decided to not make --parallel the default behaviour of GetComponents.
This pull request:
https://github.com/gridaphobe/CRL/pull/5
should fix this.
-
- changed status to open
- removed comment
-
- changed status to resolved
- removed comment
Thank you.
Applied as git hash a2fff3f "GetComponents: record if threads are availalbe and only use them if" of CRL.
-
- changed status to open
- removed comment
-
- removed comment
backport ok?
-
- removed comment
Unless objection are raised I will backport this on Wednesday next week.
-
- changed status to resolved
- removed comment
Applied as git hash a2fff3f "GetComponents: record if threads are availalbe and only use them i" of CRL
-
- changed status to closed
- edited description
- Log in to comment
This seems to be fixed by uncommenting $PARALLEL=1 on line 60. Does anyone know why it was commented out?