I realised that there was a cflag that was added into the inifile 
'-mno-cygwin', so I just removed that. Here's the new crash:
$ pyfr run -b openmp -p euler_vortex_2d.pyfrm euler_vortex_2d.ini
      0 [main] python3 6872 child_info_fork::abort: unable to map 
C:\cygwin64\tmp\pyfr-0-jgliw1v5\libtmp.so, Win32 error 126
Traceback (most recent call last):
  File "/home/User/PyFR/env4/src/pyfr/pyfr/util.py", line 32, in __call__
    res = cache[key]
KeyError: (<function OpenMPKernelProvider._build_kernel at 0x6fffe18b6a8>, 
b'\x80\x03X\x05\x00\x00\x00tfluxq\x00X\xc5\x14\x00\x00\n\n#include 
<omp.h>\n#include <stdlib.h>\n#include <tgmath.h>\n\n#define 
PYFR_ALIGN_BYTES 32\n#define PYFR_NOINLINE __attribute__ 
((noinline))\n\n#define min(a, b) ((a) < (b) ? (a) : (b))\n#define max(a, 
b) ((a) > (b) ? (a) : (b))\n\n// Typedefs\ntypedef double fpdtype_t;\n\n// 
OpenMP static loop scheduling functions\n\nstatic inline int\ngcd(int a, 
int b)\n{\n    return (a == 0) ? b : gcd(b % a, a);\n}\n\nstatic inline 
void\nloop_sched_1d(int n, int align, int *b, int *e)\n{\n    int tid = 
omp_get_thread_num();\n    int nth = omp_get_num_threads();\n\n    // Round 
up n to be a multiple of nth\n    int rn = n + nth - 1 - (n - 1) % nth;\n\n 
   // Nominal tile size\n    int sz = rn / nth;\n\n    // Handle 
alignment\n    sz += align - 1 - (sz - 1) % align;\n\n    // Assign the 
starting and ending index\n    *b = sz * tid;\n    *e = min(*b + sz, 
n);\n\n    // Clamp\n    if (*b >= n)\n        *b = *e = 0;\n}\n\nstatic 
inline void\nloop_sched_2d(int nrow, int ncol, int colalign,\n             
 int *rowb, int *rowe, int *colb, int *cole)\n{\n    int tid = 
omp_get_thread_num();\n    int nth = omp_get_num_threads();\n\n    // 
Distribute threads\n    int nrowth = gcd(nrow, nth);\n    int ncolth = nth 
/ nrowth;\n\n    // Row and column indices for our thread\n    int rowix = 
tid / ncolth;\n    int colix = tid % ncolth;\n\n    // Round up ncol to be 
a multiple of ncolth\n    int rncol = ncol + ncolth - 1 - (ncol - 1) % 
ncolth;\n\n    // Nominal tile size\n    int ntilerow = nrow / nrowth;\n   
 int ntilecol = rncol / ncolth;\n\n    // Handle column alignment\n   
 ntilecol += colalign - 1 - (ntilecol - 1) % colalign;\n\n    // Assign the 
starting and ending row to each thread\n    *rowb = ntilerow * rowix;\n   
 *rowe = *rowb + ntilerow;\n\n    // Assign the starting and ending column 
to each thread\n    *colb = ntilecol * colix;\n    *cole = min(*colb + 
ntilecol, ncol);\n\n    // Clamp\n    if (*colb >= ncol)\n        *colb = 
*cole = 0;\n}\n\n\n\n\n\n\n\n\n\nstatic PYFR_NOINLINE void tflux_inner(int 
_nx, fpdtype_t *__restrict__ f_v0v0, fpdtype_t *__restrict__ f_v0v1, 
fpdtype_t *__restrict__ f_v0v2, fpdtype_t *__restrict__ f_v0v3, fpdtype_t 
*__restrict__ f_v1v0, fpdtype_t *__restrict__ f_v1v1, fpdtype_t 
*__restrict__ f_v1v2, fpdtype_t *__restrict__ f_v1v3, const fpdtype_t 
*__restrict__ smats_v0v0, const fpdtype_t *__restrict__ smats_v0v1, const 
fpdtype_t *__restrict__ smats_v1v0, const fpdtype_t *__restrict__ 
smats_v1v1, const fpdtype_t *__restrict__ u_v0, const fpdtype_t 
*__restrict__ u_v1, const fpdtype_t *__restrict__ u_v2, const fpdtype_t 
*__restrict__ u_v3)\n               {\n                   for (int _x = 0; 
_x < _nx; _x++)\n                   {\n                       \n    // 
Compute the flux\n    fpdtype_t ftemp[2][4];\n    fpdtype_t p, v[2];\n   
 {\n\n    fpdtype_t invrho_ = 1.0/u_v0[_x], E_ = u_v3[_x];\n\n    // 
Compute the velocities\n    fpdtype_t rhov_[2];\n    rhov_[0] = u_v1[_x];\n 
   v[0] = invrho_*rhov_[0];\n    rhov_[1] = u_v2[_x];\n    v[1] = 
invrho_*rhov_[1];\n\n    // Compute the pressure\n    p = 
0.3999999999999999*(E_ - 0.5*invrho_*((rhov_[0])*(rhov_[0]) + 
(rhov_[1])*(rhov_[1])));\n\n    // Density and energy fluxes\n   
 ftemp[0][0] = rhov_[0];\n    ftemp[0][3] = (E_ + p)*v[0];\n    ftemp[1][0] 
= rhov_[1];\n    ftemp[1][3] = (E_ + p)*v[1];\n\n    // Momentum fluxes\n   
 ftemp[0][1] = rhov_[0]*v[0] + p;\n    ftemp[0][2] = rhov_[0]*v[1];\n   
 ftemp[1][1] = rhov_[1]*v[0];\n    ftemp[1][2] = rhov_[1]*v[1] + 
p;\n\n};\n\n    // Transform the fluxes\n    f_v0v0[_x] = 
smats_v0v0[_x]*ftemp[0][0] + smats_v0v1[_x]*ftemp[1][0];\n    f_v0v1[_x] = 
smats_v0v0[_x]*ftemp[0][1] + smats_v0v1[_x]*ftemp[1][1];\n    f_v0v2[_x] = 
smats_v0v0[_x]*ftemp[0][2] + smats_v0v1[_x]*ftemp[1][2];\n    f_v0v3[_x] = 
smats_v0v0[_x]*ftemp[0][3] + smats_v0v1[_x]*ftemp[1][3];\n    f_v1v0[_x] = 
smats_v1v0[_x]*ftemp[0][0] + smats_v1v1[_x]*ftemp[1][0];\n    f_v1v1[_x] = 
smats_v1v0[_x]*ftemp[0][1] + smats_v1v1[_x]*ftemp[1][1];\n    f_v1v2[_x] = 
smats_v1v0[_x]*ftemp[0][2] + smats_v1v1[_x]*ftemp[1][2];\n    f_v1v3[_x] = 
smats_v1v0[_x]*ftemp[0][3] + smats_v1v1[_x]*ftemp[1][3];\n\n               
    }\n               }\n                   void tflux(int _ny, int _nx, 
fpdtype_t* __restrict__ f_v, int lsdf, const fpdtype_t* __restrict__ 
smats_v, int lsdsmats, const fpdtype_t* __restrict__ u_v, int lsdu)\n       
            {\n                       #pragma omp parallel\n               
        {\n                           int align = PYFR_ALIGN_BYTES / 
sizeof(fpdtype_t);\n                           int rb, re, cb, ce;\n       
                    loop_sched_2d(_ny, _nx, align, &rb, &re, &cb, &ce);\n   
                        for (int _y = rb; _y < re; _y++)\n                 
          {\n                               tflux_inner(ce - cb, f_v + 
((0*_ny + _y)*4 + 0)*lsdf + cb, f_v + ((0*_ny + _y)*4 + 1)*lsdf + cb, f_v + 
((0*_ny + _y)*4 + 2)*lsdf + cb, f_v + ((0*_ny + _y)*4 + 3)*lsdf + cb, f_v + 
((1*_ny + _y)*4 + 0)*lsdf + cb, f_v + ((1*_ny + _y)*4 + 1)*lsdf + cb, f_v + 
((1*_ny + _y)*4 + 2)*lsdf + cb, f_v + ((1*_ny + _y)*4 + 3)*lsdf + cb, 
smats_v + ((0*_ny + _y)*2 + 0)*lsdsmats + cb, smats_v + ((0*_ny + _y)*2 + 
1)*lsdsmats + cb, smats_v + ((1*_ny + _y)*2 + 0)*lsdsmats + cb, smats_v + 
((1*_ny + _y)*2 + 1)*lsdsmats + cb, u_v + (_y*4 + 0)*lsdu + cb, u_v + (_y*4 
+ 1)*lsdu + cb, u_v + (_y*4 + 2)*lsdu + cb, u_v + (_y*4 + 3)*lsdu + cb);\n 
                          }\n                       }\n                   
}\n\nq\x01]q\x02(cnumpy\nint32\nq\x03h\x03cnumpy\nint64\nq\x04h\x03h\x04h\x03h\x04h\x03e\x87q\x05.',
 
b'\x80\x03}q\x00.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File 
"/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py", line 
46, in call_capture_output
    popen = Popen(cmdline, cwd=cwd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
  File "/usr/lib/python3.4/subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.4/subprocess.py", line 1395, in _execute_child
    restore_signals, start_new_session, preexec_fn)
BlockingIOError: [Errno 11] Resource temporarily unavailable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/User/PyFR/env4/bin/pyfr", line 9, in <module>
    load_entry_point('pyfr==1.3.0', 'console_scripts', 'pyfr')()
  File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 109, in 
main
    args.process(args)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 230, in 
process_run
    args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 214, in 
_process_common
    solver = get_solver(backend, rallocs, mesh, soln, cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/__init__.py", line 14, 
in get_solver
    return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/__init__.py", line 
26, in get_integrator
    return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/controllers.py", 
line 14, in __init__
    super().__init__(*args, **kwargs)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/steppers.py", line 
9, in __init__
    super().__init__(*args, **kwargs)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/base.py", line 41, 
in __init__
    self.system = systemcls(backend, rallocs, mesh, initsoln, nreg, cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/base/system.py", line 
59, in __init__
    self._gen_kernels(eles, int_inters, mpi_inters, bc_inters)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/base/system.py", line 
167, in _gen_kernels
    kernels[pn, kn].append(kgetter())
  File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/euler/elements.py", line 
70, in <lambda>
    f=self._vect_upts
  File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/base/backend.py", line 
154, in kernel
    return kern(*args, **kwargs)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/base/kernels.py", line 
162, in kernel_meth
    fun = self._build_kernel(name, src, list(it.chain(*argt)))
  File "/home/User/PyFR/env4/src/pyfr/pyfr/util.py", line 34, in __call__
    res = cache[key] = self.func(*args, **kwargs)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/provider.py", 
line 13, in _build_kernel
    mod = GccSourceModule(src, self.backend.cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py", 
line 61, in __init__
    super().__init__(src, cfg)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py", 
line 30, in __init__
    lname = self._build(tmpdir)
  File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py", 
line 80, in _build
    call_capture_output(cmd + self._cflags, cwd=tmpdir)
  File 
"/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py", line 
197, in call_capture_output
    return forker[0].call_capture_output(cmdline, cwd, error_on_nonzero)
  File 
"/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py", line 
54, in call_capture_output
    % ( " ".join(cmdline), e))
pytools.prefork.ExecError: error invoking 'gcc -shared -std=c99 -Ofast 
-march=native -fopenmp -fPIC -o libtmp.so tmp.c': [Errno 11] Resource 
temporarily unavailable



-- 
You received this message because you are subscribed to the Google Groups "PyFR 
Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.

Reply via email to