From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10113 invoked by alias); 25 Dec 2008 10:12:28 -0000 Received: (qmail 9788 invoked by uid 48); 25 Dec 2008 10:11:11 -0000 Date: Thu, 25 Dec 2008 10:12:00 -0000 Subject: [Bug c++/38625] New: Segmentation fault when dereferencing valid pointer, probably REGRESSION X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "l dot jirkovsky at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-12/txt/msg02277.txt.bz2 First, I'd like to apologize that I wasn't able to extract the problematic code. I hope somebody more experienced will find the way how to do it. Problematic code is in enblend, which can be downloaded from cvs using cvs: cvs -z3 -d :pserver:anonymous@enblend.cvs.sourceforge.net:/cvsroot/enblend -f enblend The problem is in src/mask.h:228 in (*mxLeft != *mx). It seems that it crashes when dereferencing pointer (which should be valid because it's used before), because it even doesn't get to overloaded operator!= function in include/vigra/diff2d.hxx:1093 I've tested it with gcc 3.4.6 and it works without segfaults, so I think that it can be some regression. Moreover, windows version compiled with MSVC seems do be unaffected too. I think it can be somewhat connected to bug #32896. It has already been reported in hugin's bugtracker (enblend is a part of it): https://sourceforge.net/tracker2/?func=detail&aid=2121647&group_id=77506&atid=550441 Steps to reproduce: ------------------- compile enblend: make -f Makefile.cvs ./configure --prefix=/usr --enable-debug=no --with-x sed -i 's|#define\ malloc\ rpl_malloc|/* & */|' config.h # sometimes maloc is not detected corectly make Download test files which cause segfault and unzip them from: http://blender6xx.ic.cz/pub/DEBUG.zip run enblend: enblend kladruby00* -o test.tif After some time it segfaults System information ------------------ OS: Archlinux current (but it affect wide spectrum of distributions, so it's not problem in only one distro) uname -a: Linux red_dragon 2.6.27.10 #2 Sat Dec 20 09:47:07 CET 2008 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz GenuineIntel GNU/Linux gcc -v: Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../configure --prefix=/usr --enable-shared --enable-languages=c,c++,fortran,objc,obj-c++,treelang --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch --with-tune=generic Thread model: posix gcc version 4.3.2 (GCC) gcc-3.4 -v Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/specs Configured with: ../gcc-3.4.6/configure --prefix=/usr --enable-shared --enable-languages=c,c++ --enable-threads=posix --mandir=/usr/share/man --libexecdir=/usr/lib --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --enable-clocale=gnu --program-suffix=-3.4 Thread model: posix gcc version 3.4.6 -- Summary: Segmentation fault when dereferencing valid pointer, probably REGRESSION Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: l dot jirkovsky at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38625