Bug#895419: python3-dolfin: JIT compilation fails as python3-instant tries to includes petsc4py from python2

2018-04-11 Thread Fabrice
Package: python3-dolfin
Version: 2017.2.0.post0-3
Severity: important

Dear Maintainer,
trying to run the simple following script:

-- test_fenics.py --
import fenics as fe
tmp = fe.Expression("1/x[0]")
-- end test_fenics.py --

the DOLFIN just-in-time compiler is called but fails.

stdout and stderr were captured (see attached files)
$ python3 test_fenics.py >> stdout.log 2>> stderr.log
Is also attached an archive with the .cache/instant folder containing in
particular the compile.log generated by fenics/dolfin.
The following lines are relevant

CMake Error in CMakeLists.txt:
  Imported target "dolfin" includes non-existent path
"/usr/lib/python2.7/dist-packages/petsc4py/include"

python3-petsc4py is installed (3.8.1-3), while python-petsc4py is not (and
needs not to be installed)
It makes the package unusable, as no expression can be compiled and used in
finite elements computation



-- System Information:
Debian Release: buster/sid
  APT prefers oldstable-updates
  APT policy: (500, 'oldstable-updates'), (500, 'unstable'), (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.15.0-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8), 
LANGUAGE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python3-dolfin depends on:
ii  libboost-timer1.62.01.62.0+dfsg-5
ii  libc6   2.27-3
ii  libdolfin-dev   2017.2.0.post0-3
ii  libdolfin2017.2 2017.2.0.post0-3
ii  libgcc1 1:8-20180402-1
ii  libhdf5-openmpi-100 1.10.0-patch1+docs-4
ii  libopenmpi2 2.1.1-8
ii  libpetsc-real3.83.8.4+dfsg1-1
ii  libpython3.63.6.5-3
ii  libslepc-real3.83.8.2+dfsg1-4
ii  libstdc++6  8-20180402-1
ii  libsz2  1.0.2-1
ii  python3 3.6.5-2
ii  python3-dijitso 2017.2.0.0-2
ii  python3-ffc 2017.2.0.post0-2
ii  python3-instant 2017.2.0.0-2
ii  python3-numpy [python3-numpy-abi9]  1:1.13.3-2
ii  python3-petsc4py3.8.1-3
ii  python3-ply 3.11-1
ii  python3-six 1.11.0-2
ii  python3-slepc4py3.8.0-3
ii  python3-sympy   1.1.1-5
ii  python3-ufl 2017.2.0.0-2
ii  zlib1g  1:1.2.8.dfsg-5

python3-dolfin recommends no packages.

Versions of packages python3-dolfin suggests:
pn  dolfin-doc  

-- no debconf information


instant.tar.xz
Description: application/xz
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
--- Instant: compiling ---
In instant.recompile: The module did not compile with command 'cmake 
-DDEBUG=TRUE .', see 
'/home/fab/.cache/instant/python3.6/error/dolfin_4bedd8911ad2fa3696d85d184d02a288d3294659/compile.log'
Traceback (most recent call last):
  File "test_fenics.py", line 57, in 
aux_invr = fe.Expression("1/x[0]")
  File "/usr/lib/python3/dist-packages/dolfin/functions/expression.py", line 
679, in __new__
mpi_comm=kwargs.get("mpi_comm"))
  File "/usr/lib/python3/dist-packages/dolfin/compilemodules/expressions.py", 
line 266, in compile_expressions
mpi_comm=mpi_comm)
  File "/usr/lib/python3/dist-packages/dolfin/compilemodules/expressions.py", 
line 183, in compile_expression_code
mpi_comm=mpi_comm)
  File "/usr/lib/python3/dist-packages/dolfin/compilemodules/jit.py", line 70, 
in mpi_jit
return local_jit(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/dolfin/compilemodules/compilemodule.py", 
line 603, in compile_extension_module
**instant_kwargs)
  File "/usr/lib/python3/dist-packages/instant/build.py", line 577, in 
build_module
build_system)
  File "/usr/lib/python3/dist-packages/instant/build.py", line 158, in recompile
instant_error(msg % (cmd, compile_log_filename_dest))
  File "/usr/lib/python3/dist-packages/instant/output.py", line 96, in 
instant_error
raise RuntimeError(text)
RuntimeError: In instant.recompile: The module did not compile with command 
'cmake -DDEBUG=TRUE .', see 
'/home/fab/.cache/instant/python3.6/error/dolfin_4bedd8911ad2fa3696d85d184d02a288d3294659/compile.log'
--- Instant: compiling ---
In instant.recompile: The module did not compile with command 'cmake 
-DDEBUG=TRUE .', see 
'/home/fab/.cache/instant/python3.6/error/dolfin_4bedd8911ad2fa3696d85d184d02a288d3294659/compile.log'
Traceback (most recent call last):
  File "bug_instant.py", line 9, in 
aux_invr = fe.Expression("1/x[0]")
  File "/usr/lib/python3/dist-packages/dolfin/functions/expression.py"

Bug#735528: opencv: segfault on reading some video

2014-01-15 Thread Fabrice Silva
Source: opencv
Version: 2.4.6
Severity: important

With some video files, the following command leads to segfault:
python -c "import cv2; vid = cv2.VideoCapture('some_video ');
vid.read()"

It occurs from python, but also using C++ library.

Example of backtrace in gdb
#0  0x7fffeca1a814 in rgb32tobgr24_MMXEXT (src=0x7fffdf7ab080 
,dst=0x7fffdf0eb010 "", 
src_size=) at 
/build/libav-RgBsVf/libav-9.10/libswscale/x86/rgb2rgb_template.c:155
#1  0x7fffeca13da3 in rgbToRgbWrapper (c=0x10ac0e0, src=, srcStride=0x7fffda80, srcSliceY=0, srcSliceH=500, dst=0x7fffdac0, 
dstStride=0x7fffda90) at 
/build/libav-RgBsVf/libav-9.10/libswscale/swscale_unscaled.c:592
#2  0x7fffeca1589d in sws_scale (c=, 
srcSlice=, srcStride=0xab2ba0, srcSliceY=0, srcSliceH=500, 
dst=, dstStride=0xa156a8) at 
/build/libav-RgBsVf/libav-9.10/libswscale/swscale_unscaled.c:1152
#3  0x7526fefe in CvCapture_FFMPEG::retrieveFrame(int, unsigned 
char**, int*, int*, int*, int*) ()  from 
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4
#4  0x7526ffab in cvRetrieveFrame_FFMPEG () from 
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4
#5  0x7526f419 in CvCapture_FFMPEG_proxy::retrieveFrame(int) () 
from /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4
#6  0x7526dcb9 in cv::VideoCapture::retrieve(cv::Mat&, int) () 
from /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4
#7  0x7526daa7 in cv::VideoCapture::read(cv::Mat&) () from 
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4

Out of bounds address seems to be used in a call to a function from
libswscale.

Segfault occurs for at least for one uncompressed avi file
RIFF (little-endian) data, AVI, 944 x 500, 30.00 fps, video: uncompressed

but not for a compressed one
RIFF (little-endian) data, AVI, 592 x 320, 25.00 fps, video: XviD, audio:
MPEG-1 Layer 3 (stereo, 48000 Hz)

The former can be found at http://tinyurl.com/lv657fn (uncompressed,
almost 200Mo)



-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers


Bug#895419: Acknowledgement (python3-dolfin: JIT compilation fails as python3-instant tries to includes petsc4py from python2)

2018-04-13 Thread Fabrice Silva
Additional information from Johannes Ring (fenics dev) on 
https://groups.google.com/d/topic/fenics-support/mfJdWYwq0-w/discussion

   The problem is that the path to petsc4py is included in
   /usr/share/dolfin/cmake/DOLFINConfig.cmake and
   /usr/share/dolfin/cmake/DOLFINTargets.cmake, while it should only
   have been included in /usr/share/dolfin/cmake/DOLFINPython27.cmake
   and /usr/share/dolfin/cmake/DOLFINPython36.cmake.

   The quick fix would be to either install python-petsc4py (the
   petsc4py include files are the same for python2 and python3) or to
   remove the path to petsc4py from DOLFINConfig.cmake and
   DOLFINTargets.cmake.

These recommendations solve the trouble (even if other errors are still
raised in the overly-simplified script).

--- /tmp/DOLFINConfig.cmake	2018-04-13 16:27:57.189842279 +0200
+++ /usr/share/dolfin/cmake/DOLFINConfig.cmake	2018-04-13 16:28:29.169796349 +0200
@@ -40,7 +40,7 @@
 set(DOLFIN_INCLUDE_DIRS "/usr/include")
 
 # Third party include directories
-set(DOLFIN_3RD_PARTY_INCLUDE_DIRS "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/python2.7/dist-packages/petsc4py/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include;/usr/lib/petscdir/petsc3.8/x86_64-linux-gnu-real/include;/usr/include/superlu-dist;/usr/include/hypre;/usr/include/suitesparse;/usr/include/superlu;/usr/include/scotch;/usr/include/hdf5/openmpi;")
+set(DOLFIN_3RD_PARTY_INCLUDE_DIRS "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include;/usr/lib/petscdir/petsc3.8/x86_64-linux-gnu-real/include;/usr/include/superlu-dist;/usr/include/hypre;/usr/include/suitesparse;/usr/include/superlu;/usr/include/scotch;/usr/include/hdf5/openmpi;")
 
 # Python variables
 if ("ON" AND "TRUE")
--- /tmp/DOLFINTargets.cmake	2018-04-13 16:40:19.260234464 +0200
+++ /usr/share/dolfin/cmake/DOLFINTargets.cmake	2018-04-13 16:37:52.096803585 +0200
@@ -55,9 +55,9 @@
 
 set_target_properties(dolfin PROPERTIES
   INTERFACE_COMPILE_DEFINITIONS "NDEBUG;DOLFIN_SIZE_T=8;DOLFIN_LA_INDEX_SIZE=4;HAS_HDF5;_FORTIFY_SOURCE=2;HAS_SLEPC;HAS_PETSC;HAS_PETSC4PY;HAS_UMFPACK;HAS_CHOLMOD;HAS_SCOTCH;HAS_ZLIB;HAS_MPI;DOLFIN_VERSION=\"2017.2.0\""
-  INTERFACE_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/python2.7/dist-packages/petsc4py/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
+  INTERFACE_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
   INTERFACE_LINK_LIBRARIES "Boost::boost;Boost::timer;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;SLEPC::slepc;PETSC::petsc;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so"
-  INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/python2.7/dist-packages/petsc4py/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
+  INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
 )
 
 if(CMAKE_VERSION VERSION_LESS 2.8.12)
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers