Bug 59160 - g++ internal failure
Summary: g++ internal failure
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.1
Hardware: i686
OS: Linux
medium
high
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-02-01 00:45 UTC by Lee Howard
Modified: 2007-04-18 16:39 UTC (History)
0 users

(edit)
Clone Of:
(edit)
Last Closed: 2002-02-01 16:28:17 UTC


Attachments (Terms of Use)

Description Lee Howard 2002-02-01 00:45:42 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; T312461)

Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
Compile HylaFAX CVS

Additional info:

When compiling patched CVS HylaFAX on a system:

[root@gollum hylafax-cvs20020130]# rpm -q gcc glibc
gcc-2.96-85
glibc-2.2.4-19.3
[root@gollum hylafax-cvs20020130]# uname -a
Linux gollum.x101.com 2.4.17 #1 SMP Tue Jan 29 22:50:25 PST 2002 i686 unknown
[root@gollum hylafax-cvs20020130]# rpm -q redhat-release
redhat-release-7.1-1
[root@gollum hylafax-cvs20020130]#

I get the following error:

/usr/bin/g++        -D__ANSI_CPP__ -I. -I.. -I.././regex -I.././faxd -I.././util
 -I/usr/local/include -g -O2 -m486 -fno-strength-reduce  -c FaxMachineInfo.c++
FaxMachineInfo.c++: In method `void FaxMachineInfo::writeConfig ()':
FaxMachineInfo.c++:305: Internal error: Illegal instruction.
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[3]: *** [FaxMachineInfo.o] Error 1

The section of code in question is this:

----- faxd/FaxMachineInfo.c++ -----
/*
 * Rewrite the file if the contents have changed.
 */
void
FaxMachineInfo::writeConfig()
{
    if (changed) {
        mode_t omask = umask(022);
        int fd = Sys::open(file, O_WRONLY|O_CREAT, 0644);
        (void) umask(omask);
        if (fd >= 0) {
            fxStackBuffer buf;
            writeConfig(buf);
            u_int cc = buf.getLength();
            if (Sys::write(fd, buf, cc) != cc) {
                error("write error: %s", strerror(errno));
                Sys::close(fd);
                return;
            }
            ftruncate(fd, cc);
            Sys::close(fd);
        } else
            error("open: %m");
        changed = false;
    }
}

This does not happen on a different system:

[root@providence /root]# rpm -q gcc glibc
gcc-2.96-85
glibc-2.2.4-19
[root@providence /root]# uname -a
Linux providence deanox.com 2.4.15-pre2 #2 Sat Nov 10 14:38:27 MST 2001 i586 
unknown
[root@providence /root]# rpm -q redhat-release
redhat-release-7.0-1
[root@providence /root]#

Comment 1 Jakub Jelinek 2002-02-01 16:28:12 UTC
Is it reproduceable? If yes, please try a newer gcc release (such as
gcc-2.96-98 or later). If the ICE still exists, please submit preprocessed
source on which this can be reproduced (add -save-temps option to gcc, .ii
file will be created).

Comment 2 Lee Howard 2002-02-02 21:10:28 UTC
Sorry, false positive.  I rebooted the system and all goes well now.  I think
that it has faulty RAM.  Off topic, is there any good RAM testing package around?

Comment 3 Jakub Jelinek 2002-02-02 21:15:01 UTC
memtest86


Note You need to log in before you can comment on or make changes to this bug.