Bug 110370 - internal compiler error during compilation
internal compiler error during compilation
Status: CLOSED UPSTREAM
Product: Fedora
Classification: Fedora
Component: gcc (Show other bugs)
1
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-11-18 16:50 EST by Piotr Kowalczyk
Modified: 2007-11-30 17:10 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-10-03 18:22:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
gcc dump (612.73 KB, text/plain)
2003-11-18 16:55 EST, Piotr Kowalczyk
no flags Details

  None (edit)
Description Piotr Kowalczyk 2003-11-18 16:50:19 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5)
Gecko/20031110 Firebird/0.7

Description of problem:
while compilation of xprobe2 (os fingerprinting tool) g++ crashes 
saying: internal compiler error: Segmentation fault (important: 
First, two multi-line strings must be corrected in source since gcc 3.3 
does not support it.)
sources:
http://www.sys-security.com/archive/tools/xprobe2/xprobe2-0.2.tar.gz

Version-Release number of selected component (if applicable):
gcc-c++-3.3.2-1.i386, gcc-c++-3.3.2-2.i386

How reproducible:
Always

Steps to Reproduce:
1. get
http://www.sys-security.com/archive/tools/xprobe2/xprobe2-0.2.tar.gz
2. unpack, configure, correct two simple syntax errors connected with
multi-line strings (type make twice and wait for syntax errors)
3. type make again and wait for segmentation fault (;
    

Actual Results: 

island xprobe2-0.2 # LANG=C make
cd libs-external/USI++/src; make
make[1]: Entering directory `/usr/src/xprobe2-0.2/libs-external/USI++/src'
c++ -I/usr/include/pcap -I. -Wall -c -O2 icmp.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 datalink.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 ip.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 misc.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 udp.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 tcp.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 TX_IP.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 Layer2.cc
c++ -I/usr/include/pcap -I. -Wall -c -O2 arp.cc
ar cr libusi++.a *.o
ranlib libusi++.a
rm -f *.o
make[1]: Leaving directory `/usr/src/xprobe2-0.2/libs-external/USI++/src'
cd src; make
make[1]: Entering directory `/usr/src/xprobe2-0.2/src'
cd xplib; make
make[2]: Entering directory `/usr/src/xprobe2-0.2/src/xplib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/xprobe2-0.2/src/xplib'
cd xpmodules; make
make[2]: Entering directory `/usr/src/xprobe2-0.2/src/xpmodules'
cd alive_probe; make
make[3]: Entering directory
`/usr/src/xprobe2-0.2/src/xpmodules/alive_probe'
cd ttl_calc; make
make[4]: Entering directory
`/usr/src/xprobe2-0.2/src/xpmodules/alive_probe/ttl_calc'
ttl_mod done
make[4]: Leaving directory
`/usr/src/xprobe2-0.2/src/xpmodules/alive_probe/ttl_calc'
cd portscanner; make
make[4]: Entering directory
`/usr/src/xprobe2-0.2/src/xpmodules/alive_probe/portscanner'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory
`/usr/src/xprobe2-0.2/src/xpmodules/alive_probe/portscanner'
ar cr alive_probe.a *.o ttl_calc/*.o portscanner/*.o
ranlib alive_probe.a
make[3]: Leaving directory
`/usr/src/xprobe2-0.2/src/xpmodules/alive_probe'
cd os_probe; make
make[3]: Entering directory `/usr/src/xprobe2-0.2/src/xpmodules/os_probe'
cd icmp_port_unreach; make
make[4]: Entering directory
`/usr/src/xprobe2-0.2/src/xpmodules/os_probe/icmp_port_unreach'
icmp_port_unreach done
make[4]: Leaving directory
`/usr/src/xprobe2-0.2/src/xpmodules/os_probe/icmp_port_unreach'
cd icmp_echo_id; make
make[4]: Entering directory
`/usr/src/xprobe2-0.2/src/xpmodules/os_probe/icmp_echo_id'
g++ -g -O2  -Wall -W -Wcast-align -Wcast-qual -Wmissing-prototypes
-Wshadow -I../ -I../../ -I ../../../ -I../../../xplib -I
../../../../libs-external/USI++ -c icmp_echo_id.cc
In file included from ../../../../libs-external/USI++/usi++/datalink.h:13,
                 from ../../../../libs-external/USI++/usi++/usi++.h:20,
                 from icmp_echo_id.cc:25:
../../../../libs-external/USI++/usi++/usi-structs.h:65:1: warning:
"ETH_P_PUP" redefined
In file included from /usr/include/net/ethernet.h:27,
                 from ../../../xprobe.h:86,
                 from icmp_echo_id.cc:24:
/usr/include/linux/if_ether.h:40:1: warning: this is the location of
the previous definition
In file included from ../../../../libs-external/USI++/usi++/datalink.h:13,
                 from ../../../../libs-external/USI++/usi++/usi++.h:20,
                 from icmp_echo_id.cc:25:
../../../../libs-external/USI++/usi++/usi-structs.h:158:1: warning:
"ARPHRD_HDLC" redefined
In file included from /usr/include/netinet/if_ether.h:62,
                 from ../../../xprobe.h:96,
                 from icmp_echo_id.cc:24:
/usr/include/net/if_arp.h:102:1: warning: this is the location of the
previous definition
icmp_echo_id.h: In destructor `virtual
   ICMP_Echo_Code_Chk::~ICMP_Echo_Code_Chk()':
icmp_echo_id.h:59: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/cc1UBCM6.out file, please attach
this to your bugreport
make[4]: *** [icmp_echo_id.o] Error 1
make[4]: Leaving directory
`/usr/src/xprobe2-0.2/src/xpmodules/os_probe/icmp_echo_id'
make[3]: *** [icmp_echo_id_mod] Error 2
make[3]: Leaving directory `/usr/src/xprobe2-0.2/src/xpmodules/os_probe'
make[2]: *** [os] Error 2
make[2]: Leaving directory `/usr/src/xprobe2-0.2/src/xpmodules'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/xprobe2-0.2/src'
make: *** [all] Error 2
island xprobe2-0.2 #



Expected Results:  well, i guess i should not see compiler internal
error or any other segfault, and see working xprobe... or any 
other syntax/semantic error. 

Additional info:
Comment 1 Piotr Kowalczyk 2003-11-18 16:55:14 EST
Created attachment 96046 [details]
gcc dump

sorry, i forgot to add attachment. this is my first bug report, i'm 
not quite sure how does it work so please be patient... and understanding
Comment 2 Grant Miner 2004-01-07 17:24:07 EST
 g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../
-I/home/a/lufs-0.9.7/include -O2 -Wall -DSSHPROG=\"/usr/bin/ssh\" -O2
-Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -MT sshfs.lo -MD -MP
-MF .deps/sshfs.Tpo -c sshfs.cpp  -fPIC -DPIC -o .libs/sshfs.o
g++: Internal error: Segmentation fault (program cc1plus)
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
make[3]: *** [sshfs.lo] Error 1
make[3]: Leaving directory `/home/a/lufs-0.9.7/filesystems/sshfs'


Happens with lufs-0.9.7 too.
http://prdownloads.sourceforge.net/lufs/lufs-0.9.7.tar.gz?download
Comment 3 Jakub Jelinek 2004-01-07 17:27:27 EST
Please try gcc-3.3.2-5 in Fedora testing updates.
Comment 4 Jakub Jelinek 2004-10-03 18:16:17 EDT
Actually reproduced with 3.3.4-2, doesn't fail with 3.4.2-2.
Simplified testcase:
#include <map>
using namespace std;

class X
{
  map <int, int> x3;
public:
  X (int x) { }
  virtual ~X () { return; }
  int bar ();
};

struct Y : public X
{
  Y (int t) : X (t) { }
  virtual ~Y () { return; }
  virtual int foo () = 0;
};

struct Z : public Y
{
  Z () : Y (2) { }
  ~Z () { return; }
  int foo ();
};

int
Z::foo ()
{
  return bar ();
}
Comment 5 Jakub Jelinek 2004-10-03 18:22:59 EDT
Tracked upstream, http://gcc.gnu.org/PR17818

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