TRIQS / tprf

TPRF: The Two-Particle Response Function tool box for TRIQS
https://triqs.github.io/tprf
Other
14 stars 12 forks source link

Problem with tutorial/deepcopy of parametercollection on EasyBuild version #21

Open egcpvanloon opened 3 years ago

egcpvanloon commented 3 years ago

Description

I get a crash on the DMFT susceptibility tutorial, but from the error log it seems the problem is entirely in doing a deepcopy of a parametercollection. For the error log, see below.

I am only getting this error when running on the Lunarc/Aurora supercomputer, everything is fine on my desktop. On Lunarc, I am using an EasyBuild version of TRIQS and TPRF that was installed/compiled by the supercomputer staff. I am a bit confused by the origin of this issue, since it seems to happen entirely in python but works on one machine and not on another (with quite simialr versions of python).

I was wondering if the tutorial (https://triqs.github.io/tprf/latest/user_guide/dmft_susceptibility/dmft_susceptibility.html), and in particular common.py from the tutorial, is working for other people on the current EasyBuild version.

Versions

I am using the EasyBuild version, with Python 3.8.2. Output of the command to get the version is "You are using triqs_tprf version 3.0.0", but I don't get a git hash in the output, maybe since it's an easybuild?

Output

> -> DMFT Iteration: 0
> Starting run with 1 MPI rank(s) at : 2021-06-25 14:29:20.207928
> Traceback (most recent call last):
>   File "tutorial1_finitefield.py", line 18, in <module>
>     ps = solve_self_consistent_dmft(p)
>   File "/lunarc/nobackup/projects/snic2021-23-370/susceptibility/test1/common.py", line 69, in solve_self_consistent_dmft
>     p = dmft_self_consistent_step(p)
>   File "/lunarc/nobackup/projects/snic2021-23-370/susceptibility/test1/common.py", line 80, in dmft_self_consistent_step
>     p = copy.deepcopy(p)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 172, in deepcopy
>     y = _reconstruct(x, memo, *rv)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 270, in _reconstruct
>     state = deepcopy(state, memo)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 146, in deepcopy
>     y = copier(x, memo)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 230, in _deepcopy_dict
>     y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 172, in deepcopy
>     y = _reconstruct(x, memo, *rv)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 270, in _reconstruct
>     state = deepcopy(state, memo)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 146, in deepcopy
>     y = copier(x, memo)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 230, in _deepcopy_dict
>     y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 172, in deepcopy
>     y = _reconstruct(x, memo, *rv)
>   File "/sw/easybuild/software/Python/3.8.2-GCCcore-9.3.0/lib/python3.8/copy.py", line 264, in _reconstruct
>     y = func(*args)
>   File "nofile", line 1, in <module>
> KeyError: '__builtins__'