flowvr-ex issueshttps://gitlab.inria.fr/flowvr/flowvr-ex/-/issues2020-11-21T17:56:01+01:00https://gitlab.inria.fr/flowvr/flowvr-ex/-/issues/11Some python2 code remains2020-11-21T17:56:01+01:00Julien BigotSome python2 code remains```
Bytecompiling .py files below /tmp/BUILDROOT/pdiplugin-flowvr-2.3.2-0.x86_64/usr/lib64/python3.8 using /usr/bin/python3.8
*** Error compiling '/tmp/BUILDROOT/pdiplugin-flowvr-2.3.2-0.x86_64/usr/lib64/python3.8/site-packages/spy_modul...```
Bytecompiling .py files below /tmp/BUILDROOT/pdiplugin-flowvr-2.3.2-0.x86_64/usr/lib64/python3.8 using /usr/bin/python3.8
*** Error compiling '/tmp/BUILDROOT/pdiplugin-flowvr-2.3.2-0.x86_64/usr/lib64/python3.8/site-packages/spy_module.py'...
File "/usr/lib64/python3.8/site-packages/spy_module.py", line 15
print "spy module using fifo", fifoname
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("spy module using fifo", fifoname)?
```https://gitlab.inria.fr/flowvr/flowvr-ex/-/issues/9MPICH new cpu binding with 1.52020-07-27T10:37:29+02:00Karol SierocinskiMPICH new cpu binding with 1.5@jbigot has found out that the cpu binding flags have changed in MPICH 1.5: https://lists.mcs.anl.gov/pipermail/mpich-discuss/2012-October/013327.html
We believe this leads to an error in our tests (we are running these with `FlowvrRun...@jbigot has found out that the cpu binding flags have changed in MPICH 1.5: https://lists.mcs.anl.gov/pipermail/mpich-discuss/2012-October/013327.html
We believe this leads to an error in our tests (we are running these with `FlowvrRunMPICH`):
```
[proxy:0:0@runner-banibfef-project-50-concurrent-5] handle_bitmap_binding (tools/topo/hwloc/topo_hwloc.c:203): unrecognized binding string "cores"
[proxy:0:0@runner-banibfef-project-50-concurrent-5] HYDT_topo_hwloc_init (tools/topo/hwloc/topo_hwloc.c:415): error binding with bind "cores" and map "(null)"
[proxy:0:0@runner-banibfef-project-50-concurrent-5] HYDT_topo_init (tools/topo/topo.c:62): unable to initialize hwloc
[proxy:0:0@runner-banibfef-project-50-concurrent-5] launch_procs (pm/pmiserv/pmip_cb.c:515): unable to initialize process topology
[proxy:0:0@runner-banibfef-project-50-concurrent-5] HYD_pmcd_pmip_control_cmd_cb (pm/pmiserv/pmip_cb.c:892): launch_procs returned error
[proxy:0:0@runner-banibfef-project-50-concurrent-5] HYDT_dmxu_poll_wait_for_event (tools/demux/demux_poll.c:76): callback returned error status
[proxy:0:0@runner-banibfef-project-50-concurrent-5] main (pm/pmiserv/pmip.c:206): demux engine error waiting for event
[mpiexec@runner-banibfef-project-50-concurrent-5] control_cb (pm/pmiserv/pmiserv_cb.c:200): assert (!closed) failed
[mpiexec@runner-banibfef-project-50-concurrent-5] HYDT_dmxu_poll_wait_for_event (tools/demux/demux_poll.c:76): callback returned error status
[mpiexec@runner-banibfef-project-50-concurrent-5] HYD_pmci_wait_for_completion (pm/pmiserv/pmiserv_pmci.c:198): error waiting for event
[mpiexec@runner-banibfef-project-50-concurrent-5] main (ui/mpich/mpiexec.c:344): process manager error waiting for completion
```https://gitlab.inria.fr/flowvr/flowvr-ex/-/issues/6Wrong wait status after aborting2019-12-06T14:43:24+01:00Karol SierocinskiWrong wait status after abortingI have a problem with FlowVR. I am running my PDI tests in a loop and sometimes (~1/400, ~1/950, ~1/1800 runs) the abort signal from one module doesn't go to the second module, but most of the time everything works perfectly. Maybe there...I have a problem with FlowVR. I am running my PDI tests in a loop and sometimes (~1/400, ~1/950, ~1/1800 runs) the abort signal from one module doesn't go to the second module, but most of the time everything works perfectly. Maybe there is some problem with synchronization when calling `wait` to frequently?
Here is a part of the log from one of my test:
```
...
[PDI][/8ef555d808bd/7627/read:P/recv][07:35:33] *** warning: (FlowVR) Module (recv): Got `abort' abort event. Aborting...
[PDI][07:35:33] *** info: Finalization
[PDI][/8ef555d808bd/7627/read:P/recv][07:35:33] *** debug: (FlowVR) Module (recv): Close flowvr module
[PDI][/8ef555d808bd/7627/read:P/recv][07:35:33] *** debug: (FlowVR) Module (recv): Clear traces
[PDI][/8ef555d808bd/7627/read:P/recv][07:35:33] *** debug: (FlowVR) Module (recv): Clear plugins intput ports
[PDI][/8ef555d808bd/7627/read:P/recv][07:35:33] *** debug: (FlowVR) Module (recv): Clear plugins output ports
[PDI][/8ef555d808bd/7627/read:P/recv][07:35:33] *** info: (FlowVR) Module (recv): Module finalized
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Pressed key with descriptor `middle_button'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Mouse position [12.3, -23.4]
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Module (send): Calling flowvr_module->wait()
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Module (send): `wait' returned status: 3
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Copy mouse button state to `right_button'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Copy mouse button state to `middle_button'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Copy mouse button state to `left_button'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:33] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Copy mouse position to `pos_xy'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:34] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Pressed key with descriptor `middle_button'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:34] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Pressed key with descriptor `left_button'
[PDI][/8ef555d808bd/7627/read:P/send][07:35:34] *** debug: (FlowVR) Output Mouse Payload (mouseOut): Mouse position [13.53, -25.74]
[PDI][/8ef555d808bd/7627/read:P/send][07:35:34] *** debug: (FlowVR) Module (send): Calling flowvr_module->wait()
[PDI][/8ef555d808bd/7627/read:P/send][07:35:34] *** debug: (FlowVR) Module (send): `wait' returned status: 3
...
```
This log is from in PDI repo `plugins/flowvr/src/module.h` source code.
Abort section:
```cpp
if (!m_flowvr_module) return;
context().logger()->warn("(FlowVR) Module ({}): Got `{}' abort event. Aborting...", m_module_name, abort_event);
m_flowvr_module->abort();
```
Wait section:
```cpp
context().logger()->debug("(FlowVR) Module ({}): Calling flowvr_module->wait()", m_module_name);
int wait_status = m_flowvr_module->wait();
if (!wait_status) {
context().logger()->warn("(FlowVR) Module ({}): `wait' returned status: {}", m_module_name, wait_status);
} else {
context().logger()->debug("(FlowVR) Module ({}): `wait' returned status: {}", m_module_name, wait_status);
}
```
If you want to reproduce my error. I have created a docker image that fails at some point (tests are running in infinite loop). Here is URL: `https://hub.docker.com/r/pdireg/flowvr_inf_tests`.
Image is created from this PDI tree: `https://gitlab.maisondelasimulation.fr/jbigot/pdi/tree/docker_ci`
To run an image, call: `docker run pdireg/flowvr_inf_tests`