#2060: Parallel checkout fails on systems with threading missing from the perl installation ---------------------------+------------------------------------------------ Reporter: diener | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: GetComponents | Version: development version Keywords: | ---------------------------+------------------------------------------------ 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.
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: ----------------------------+-----------------------------------------------
Comment (by sbrandt):
This seems to be fixed by uncommenting $PARALLEL=1 on line 60. Does anyone know why it was commented out?
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: newuser ----------------------------+----------------------------------------------- Changes (by hinder):
* keywords: => newuser
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: review Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: newuser ----------------------------+----------------------------------------------- Changes (by rhaas):
* status: new => review
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.
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: reviewed_ok Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: newuser ----------------------------+----------------------------------------------- Changes (by sbrandt):
* status: review => reviewed_ok
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: closed Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: fixed | Keywords: newuser ----------------------------+----------------------------------------------- Changes (by rhaas):
* status: reviewed_ok => closed * resolution: => fixed
Comment:
Thank you.
Applied as git hash a2fff3f "GetComponents: record if threads are availalbe and only use them if" of CRL.
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: newuser backport ----------------------------+----------------------------------------------- Changes (by rhaas):
* keywords: newuser => newuser backport * status: closed => reopened * resolution: fixed =>
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: newuser backport ----------------------------+-----------------------------------------------
Comment (by rhaas):
backport ok?
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: | Keywords: newuser backport ----------------------------+-----------------------------------------------
Comment (by rhaas):
Unless objection are raised I will backport this on Wednesday next week.
#2060: Parallel checkout fails on systems with threading missing from the perl installation ----------------------------+----------------------------------------------- Reporter: diener | Owner: Type: defect | Status: closed Priority: minor | Milestone: Component: GetComponents | Version: development version Resolution: fixed | Keywords: newuser backport ----------------------------+----------------------------------------------- Changes (by rhaas):
* status: reopened => closed * resolution: => fixed
Comment:
Applied as git hash a2fff3f "GetComponents: record if threads are availalbe and only use them i" of CRL
trac@lists.einsteintoolkit.org