cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.31k stars 907 forks source link

SegFault: ImagePNG::ReadHeader at ImagePNG.cpp #277

Open charlescva opened 6 years ago

charlescva commented 6 years ago

Maybe m_pStream is NULL???

Specifications like the version of the project, operating system, and hardware

openMVS-0.7 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11) libpng-devel-1.5.13-7.el7_2.x86_64

Steps to reproduce the problem

Starting program: /root/bin/InterfaceVisualSFM /home/reconstructions/IBISS/reconstruction.nvm [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". 19:55:56 [App ] Build date: Dec 7 2017, 19:51:53 19:55:57 [App ] CPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 19:55:57 [App ] RAM: 62.75GB Physical Memory 31.50GB Virtual Memory 19:55:57 [App ] OS: Linux 3.10.0-514.21.1.el7.x86_64 (x86_64) 19:55:57 [App ] warning: no AVX compatible CPU or OS detected 19:55:57 [App ] Command line: /home/reconstructions/IBISS/reconstruction.nvm 19:55:57 [App ] Loading cameras/points: /home/reconstructions/IBISS/reconstruction.nvm 19:56:03 [App ] 1334 cameras; 378359 3D points; 3658070 projections

Program received signal SIGSEGV, Segmentation fault. 0x000000000096356f in SEACAVE::CImagePNG::ReadHeader (this=0xcc1ad0) at /root/openMVS-0.7/libs/IO/ImagePNG.cpp:93

93 ((ISTREAM*)m_pStream)->setPos(0);

Missing separate debuginfos, use: debuginfo-install OpenEXR-libs-1.7.1-7.el7.x86_64 atk-2.14.0-1.el7.x86_64 bzip2-libs-1.0.6-13.el7.x86_64 cairo-1.14.2-1.el7.x86_64 ceres-solver-1.11.0-1.el7.x86_64 expat-2.1.0-10.el7_3.x86_64 fontconfig-2.10.95-10.el7.x86_64 freetype-2.4.11-12.el7.x86_64 gdk-pixbuf2-2.31.6-3.el7.x86_64 gflags-2.1.1-6.el7.x86_64 glib2-2.46.2-4.el7.x86_64 glibc-2.17-157.el7_3.4.x86_64 glog-0.3.3-8.el7.x86_64 gmp-6.0.0-12.el7_1.x86_64 graphite2-1.3.6-1.el7_2.x86_64 gstreamer-0.10.36-7.el7.x86_64 gstreamer-plugins-base-0.10.36-10.el7.x86_64 gtk2-2.24.28-8.el7.x86_64 harfbuzz-0.9.36-1.el7.x86_64 ilmbase-1.0.3-7.el7.x86_64 jasper-libs-1.900.1-30.el7_3.x86_64 jbigkit-libs-2.0-11.el7.x86_64 libX11-1.6.3-3.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXcomposite-0.4.4-4.1.el7.x86_64 libXcursor-1.1.14-2.1.el7.x86_64 libXdamage-1.1.4-4.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXfixes-5.0.1-2.1.el7.x86_64 libXi-1.7.4-2.el7.x86_64 libXinerama-1.1.3-2.1.el7.x86_64 libXrandr-1.4.2-2.el7.x86_64 libXrender-0.9.8-2.1.el7.x86_64 libXxf86vm-1.1.3-2.1.el7.x86_64 libdrm-2.4.67-3.el7.x86_64 libffi-3.0.13-18.el7.x86_64 libgcc-4.8.5-11.el7.x86_64 libgomp-4.8.5-11.el7.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libpng-1.5.13-7.el7_2.x86_64 libselinux-2.5-6.el7.x86_64 libstdc++-4.8.5-11.el7.x86_64 libtiff-4.0.3-27.el7_3.x86_64 libv4l-0.9.5-4.el7.x86_64 libxcb-1.11-4.el7.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 libxshmfence-1.2-1.el7.x86_64 mesa-libEGL-11.2.2-2.20160614.el7.x86_64 mesa-libGL-11.2.2-2.20160614.el7.x86_64 mesa-libgbm-11.2.2-2.20160614.el7.x86_64 mesa-libglapi-11.2.2-2.20160614.el7.x86_64 mpfr-3.1.1-4.el7.x86_64 opencv-2.4.5-3.el7.x86_64 opencv-core-2.4.5-3.el7.x86_64 orc-0.4.22-5.el7.x86_64 pango-1.36.8-2.el7.x86_64 pcre-8.32-15.el7_2.1.x86_64 pixman-0.34.0-1.el7.x86_64 suitesparse-4.0.2-10.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64

(gdb) backtrace 0 0x000000000096356f in SEACAVE::CImagePNG::ReadHeader (this=0xcc1ad0) at /root/openMVS-0.7/libs/IO/ImagePNG.cpp:93 1 0x0000000000813e04 in MVS::Image::ReadImageHeader (fileName=...) at /root/openMVS-0.7/libs/MVS/Image.cpp:58 2 0x000000000081426b in MVS::Image::ReloadImage (this=0xd87cd0, nMaxResolution=0, bLoadPixels=false) at /root/openMVS-0.7/libs/MVS/Image.cpp:114 3 0x00000000007ee6fc in main (argc=2, argv=0x7fffffffe4c8) at /root/openMVS-0.7/apps/InterfaceVisualSFM/InterfaceVisualSFM.cpp:310

charlescva commented 6 years ago

(gdb) frame 0

0 0x000000000096356f in SEACAVE::CImagePNG::ReadHeader (this=0xcc1ad0) at /root/openMVS-0.7/libs/IO/ImagePNG.cpp:93

93 ((ISTREAM*)m_pStream)->setPos(0); (gdb) print m_pStream $1 = {m_pointer = 0x0, m_pNoRef = 0x0}

Looks like the m_pointer is null

charlescva commented 6 years ago

Still getting the segmentation fault after multiple recompile and verification of dependencies:

ldd /root/bin/InterfaceVisualSFM linux-vdso.so.1 => (0x00007ffd615b0000) libboost_iostreams.so.1.56.0 => /usr/local/lib/libboost_iostreams.so.1.56.0 (0x00007fc154844000) libboost_program_options.so.1.56.0 => /usr/local/lib/libboost_program_options.so.1.56.0 (0x00007fc1545d3000) libboost_serialization.so.1.56.0 => /usr/local/lib/libboost_serialization.so.1.56.0 (0x00007fc154375000) libopencv_calib3d.so.2.4 => /lib64/libopencv_calib3d.so.2.4 (0x00007fc1540d2000) libopencv_contrib.so.2.4 => /lib64/libopencv_contrib.so.2.4 (0x00007fc153df2000) libopencv_core.so.2.4 => /lib64/libopencv_core.so.2.4 (0x00007fc1539b9000) libopencv_features2d.so.2.4 => /lib64/libopencv_features2d.so.2.4 (0x00007fc153713000) libopencv_flann.so.2.4 => /lib64/libopencv_flann.so.2.4 (0x00007fc1534a2000) libopencv_highgui.so.2.4 => /lib64/libopencv_highgui.so.2.4 (0x00007fc15325b000) libopencv_imgproc.so.2.4 => /lib64/libopencv_imgproc.so.2.4 (0x00007fc152ddd000) libopencv_legacy.so.2.4 => /lib64/libopencv_legacy.so.2.4 (0x00007fc152abf000) libopencv_ml.so.2.4 => /lib64/libopencv_ml.so.2.4 (0x00007fc152845000) libopencv_objdetect.so.2.4 => /lib64/libopencv_objdetect.so.2.4 (0x00007fc1525c7000) libopencv_photo.so.2.4 => /lib64/libopencv_photo.so.2.4 (0x00007fc1523a9000) libopencv_stitching.so.2.4 => /lib64/libopencv_stitching.so.2.4 (0x00007fc152142000) libopencv_superres.so.2.4 => /lib64/libopencv_superres.so.2.4 (0x00007fc151f22000) libopencv_ts.so.2.4 => /lib64/libopencv_ts.so.2.4 (0x00007fc151c6e000) libopencv_video.so.2.4 => /lib64/libopencv_video.so.2.4 (0x00007fc151a1a000) libopencv_videostab.so.2.4 => /lib64/libopencv_videostab.so.2.4 (0x00007fc1517dd000) libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x00007fc1515aa000) libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007fc151355000) libtiff.so.5 => /lib64/libtiff.so.5 (0x00007fc1510e1000) libceres.so.1 => /lib64/libceres.so.1 (0x00007fc150d22000) libglog.so.0 => /lib64/libglog.so.0 (0x00007fc150af2000) libCGAL.so.10 => /usr/local/lib/libCGAL.so.10 (0x00007fc1508ca000) libCGAL_Core.so.10 => /usr/local/lib/libCGAL_Core.so.10 (0x00007fc150691000) libCGAL_ImageIO.so.10 => /usr/local/lib/libCGAL_ImageIO.so.10 (0x00007fc150462000) libboost_thread.so.1.56.0 => /usr/local/lib/libboost_thread.so.1.56.0 (0x00007fc150242000) libboost_system.so.1.56.0 => /usr/local/lib/libboost_system.so.1.56.0 (0x00007fc15003d000) libGLU.so.1 => /lib64/libGLU.so.1 (0x00007fc14fdbd000) libGL.so.1 => /lib64/libGL.so.1 (0x00007fc14fb4d000) libSM.so.6 => /lib64/libSM.so.6 (0x00007fc14f944000) libICE.so.6 => /lib64/libICE.so.6 (0x00007fc14f728000) libX11.so.6 => /lib64/libX11.so.6 (0x00007fc14f3ea000) libXext.so.6 => /lib64/libXext.so.6 (0x00007fc14f1d7000) libz.so.1 => /lib64/libz.so.1 (0x00007fc14efc1000) libmpfr.so.4 => /lib64/libmpfr.so.4 (0x00007fc14ed66000) libgmp.so.10 => /lib64/libgmp.so.10 (0x00007fc14eaee000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fc14e7e5000) libm.so.6 => /lib64/libm.so.6 (0x00007fc14e4e3000) libgomp.so.1 => /lib64/libgomp.so.1 (0x00007fc14e2bc000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc14e0a6000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc14de8a000) libc.so.6 => /lib64/libc.so.6 (0x00007fc14dac8000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fc14d8b8000) librt.so.1 => /lib64/librt.so.1 (0x00007fc14d6b0000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fc14d4ab000) libpng15.so.15 => /lib64/libpng15.so.15 (0x00007fc14d280000) libjasper.so.1 => /lib64/libjasper.so.1 (0x00007fc14d025000) libImath.so.6 => /lib64/libImath.so.6 (0x00007fc14ce13000) libIlmImf.so.7 => /lib64/libIlmImf.so.7 (0x00007fc14cb4b000) libIex.so.6 => /lib64/libIex.so.6 (0x00007fc14c92b000) libHalf.so.6 => /lib64/libHalf.so.6 (0x00007fc14c6e8000) libIlmThread.so.6 => /lib64/libIlmThread.so.6 (0x00007fc14c4e1000) libgtk-x11-2.0.so.0 => /lib64/libgtk-x11-2.0.so.0 (0x00007fc14be5c000) libgdk-x11-2.0.so.0 => /lib64/libgdk-x11-2.0.so.0 (0x00007fc14bb9b000) libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007fc14b975000) libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007fc14b5f4000) libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007fc14b3df000) libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007fc14b1d2000) libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007fc14afab000) libcairo.so.2 => /lib64/libcairo.so.2 (0x00007fc14ac84000) libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007fc14aa39000) libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007fc14a7fb000) libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007fc14a5ab000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fc14a274000) libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fc149fcd000) libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007fc149dcb000) libgstbase-0.10.so.0 => /lib64/libgstbase-0.10.so.0 (0x00007fc149b77000) libgstreamer-0.10.so.0 => /lib64/libgstreamer-0.10.so.0 (0x00007fc14988d000) libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007fc149689000) libxml2.so.2 => /lib64/libxml2.so.2 (0x00007fc14931f000) libgstapp-0.10.so.0 => /lib64/libgstapp-0.10.so.0 (0x00007fc149112000) libgstvideo-0.10.so.0 => /lib64/libgstvideo-0.10.so.0 (0x00007fc148ef5000) libv4l1.so.0 => /lib64/libv4l1.so.0 (0x00007fc148cef000) libjbig.so.2.0 => /lib64/libjbig.so.2.0 (0x00007fc148ae1000) libcxsparse.so.3 => /lib64/libcxsparse.so.3 (0x00007fc1488b0000) libgflags.so.2.1 => /lib64/libgflags.so.2.1 (0x00007fc14868f000) libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fc148464000) libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007fc148261000) libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007fc14805d000) libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007fc147e4f000) libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007fc147c47000) libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007fc147a3c000) libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007fc147838000) libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007fc147631000) libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007fc14742d000) libglapi.so.0 => /lib64/libglapi.so.0 (0x00007fc1471fe000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fc146fd7000) libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007fc146dd3000) libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007fc146bcd000) libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007fc1469cb000) libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007fc1467b0000) libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007fc1465ab000) libxcb.so.1 => /lib64/libxcb.so.1 (0x00007fc146389000) libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007fc146182000) libdrm.so.2 => /lib64/libdrm.so.2 (0x00007fc145f73000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fc145d6e000) /lib64/ld-linux-x86-64.so.2 (0x00007fc154a5d000) libIexMath.so.6 => /lib64/libIexMath.so.6 (0x00007fc145b68000) libXrender.so.1 => /lib64/libXrender.so.1 (0x00007fc14595d000) libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007fc14575a000) libXi.so.6 => /lib64/libXi.so.6 (0x00007fc14554a000) libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007fc14533f000) libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007fc145134000) libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007fc144f31000) libffi.so.6 => /lib64/libffi.so.6 (0x00007fc144d28000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fc144b0e000) libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007fc1448b5000) libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007fc14460b000) libEGL.so.1 => /lib64/libEGL.so.1 (0x00007fc1443e1000) libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007fc1441dd000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fc143fb6000) liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x00007fc143d34000) libv4l2.so.0 => /lib64/libv4l2.so.0 (0x00007fc143b25000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fc1438c4000) libXau.so.6 => /lib64/libXau.so.6 (0x00007fc1436bf000) libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007fc143492000) libgbm.so.1 => /lib64/libgbm.so.1 (0x00007fc143285000) libv4lconvert.so.0 => /lib64/libv4lconvert.so.0 (0x00007fc14300c000)