From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24808 invoked by alias); 30 Mar 2003 11:56:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 24782 invoked by uid 71); 30 Mar 2003 11:56:00 -0000 Resent-Date: 30 Mar 2003 11:56:00 -0000 Resent-Message-ID: <20030330115600.24781.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, fr33z3@sources.redhat.com, gmx.net@sources.redhat.com (at) Received: (qmail 20626 invoked by uid 48); 30 Mar 2003 11:50:35 -0000 Message-Id: <20030330115035.20625.qmail@sources.redhat.com> Date: Sun, 30 Mar 2003 12:16:00 -0000 From: fr33z3@sources.redhat.com, gmx.net@sources.redhat.com (at) Reply-To: fr33z3@sources.redhat.com, gmx.net@sources.redhat.com (at) To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10269: ncurses function in class causes malloc() syscall to loop infinitly X-SW-Source: 2003-03/txt/msg02057.txt.bz2 List-Id: >Number: 10269 >Category: c++ >Synopsis: ncurses function in class causes malloc() syscall to loop infinitly >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sun Mar 30 11:56:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Tam >Release: gcc version 2.95.4 20011002 (Debian prerelease) and also 3.2.3 20030309 (Debian prerelease) >Organization: >Environment: Debian sarge on i686 AMD Athlon(tm) XP 2000+ Libs: libform.so.5 => /usr/lib/libform.so.5 (0x4001c000) libncurses.so.5 => /lib/libncurses.so.5 (0x40028000) libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40067000) libm.so.6 => /lib/libm.so.6 (0x400b0000) libc.so.6 => /lib/libc.so.6 (0x400d1000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) >Description: The Syscall malloc() loops infinitly when it should allocate lets say.. more than 512b of memory (on my system) but allocating only a few bytes works well. It also ran on a similar system to mine using the libncurses.so.4 - so it's either an error in gcc or in libcurses - I don't know for sure... For further Infos and strange things have a look at the comments in the short c++ source code. >How-To-Repeat: g++ -lform -lcurses -o ncursesInClass ncursesInClass.cpp and run the binary you can use g++ 2.95 or 3.2 as well to compile. >Fix: no idea... >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/x-c++src; name="ncursesInClass.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ncursesInClass.cpp" I2luY2x1ZGUgPGZvcm0uaD4KI2luY2x1ZGUgPGN1cnNlcy5oPgoKLyoqKiogY2xhc3Mgc3R1ZmYg KioqKi8KCmNsYXNzIG1hc2sKewoJcHVibGljOgoJCUZJRUxEICptX2ZpZWxkc1syXTsKCQlGT1JN ICAqbV9mb3JtOwoJCVdJTkRPVyAqbV93aW47CgkJbWFzaygpOwoJCX5tYXNrKCk7Cn07CgptYXNr OjptYXNrKCkKewoJaW5pdHNjcigpOwoJbV93aW49IG5ld3dpbigzLCA0NCwgTElORVMvMi0xLCBD T0xTLzItMjIpOwoJbV9maWVsZHNbMF0gPSBuZXdfZmllbGQoMSwgMzIsIDAsIDAsIDAsIDApOwoJ bV9maWVsZHNbMV0gPSBOVUxMOwoJbV9mb3JtPSBuZXdfZm9ybShtX2ZpZWxkcyk7CglzZXRfZm9y bV93aW4obV9mb3JtLCBtX3dpbik7CglzZXRfZm9ybV9zdWIobV9mb3JtLCBkZXJ3aW4obV93aW4s IDEsIDMyLCAxLCAxMSkpOwp9CgptYXNrOjp+bWFzaygpCnsKCWZyZWVfZm9ybShtX2Zvcm0pOyAv LyBDb21tZW50IHRoaXMgbGluZSB0byBzdG9wIGluZmluaXRlIGxvb3BpbmcKCWZyZWVfZmllbGQo bV9maWVsZHNbMF0pOwoJZGVsd2luKG1fd2luKTsKCWVuZHdpbigpOwp9CgovKioqKiBzYW1lIHN0 dWZmIGluIGZ1bmN0aW9uICoqKiovCgp2b2lkIG1hc2tmdW5jdGlvbigpCnsKCUZJRUxEICptX2Zp ZWxkc1syXTsKCUZPUk0gICptX2Zvcm07CglXSU5ET1cgKm1fd2luOwoJaW5pdHNjcigpOwoJbV93 aW49IG5ld3dpbigzLCA0NCwgTElORVMvMi0xLCBDT0xTLzItMjIpOwoJbV9maWVsZHNbMF0gPSBu ZXdfZmllbGQoMSwgMzIsIDAsIDAsIDAsIDApOwoJbV9maWVsZHNbMV0gPSBOVUxMOwoJbV9mb3Jt PSBuZXdfZm9ybShtX2ZpZWxkcyk7CglzZXRfZm9ybV93aW4obV9mb3JtLCBtX3dpbik7CglzZXRf Zm9ybV9zdWIobV9mb3JtLCBkZXJ3aW4obV93aW4sIDEsIDMyLCAxLCAxMSkpOwoJZnJlZV9mb3Jt KG1fZm9ybSk7IC8vIE5vIHByb2JsZW0gd2l0aCB0aGF0IGluIGEgc2ltcGxlIGZ1bmN0aW9uCglm cmVlX2ZpZWxkKG1fZmllbGRzWzBdKTsKCWRlbHdpbihtX3dpbik7CgllbmR3aW4oKTsKfQoKLyoq KiogbWFpbiAqKioqLwoKaW50IG1haW4oKQp7CgkvLyBubyBpZigpIC0gbm8gbG9vcGluZywgZXZl biBpZiBmcmVlX2Zvcm0oKSBpbiBjbGFzcyBpcyB1c2VkCglpZiAoMSkgewkKCQkKCS8vIG1hc2tm dW5jdGlvbigpOyAvLyB3b3JrcyBmaW5lIHdpdGhvdXQgYW4gb2JqZWN0CgltYXNrIG9tYXNrOwoJ b21hc2sufm1hc2soKTsKCX0KCQoJY2hhciAqYXJyPSBuZXcgY2hhclsxMDI0XTsJLy8gVGhpcyBp cyB0aGUgcG9pbnQgd2hlcmUgdGhlIGxvb3BpbmcgYmVnaW5zCgkJCQkJCQkJLy8gdGhlIG1hbGxv YygpIHN5c2NhbGwgY2F1c2VzIGl0IC0gZHVubm8gd2h5CQkJCQkJCQkJCgkKCWRlbGV0ZSBhcnI7 CglyZXR1cm4gMDsKfQo=