Bug 52960

Summary: Internal error: segmentation fault
Product: [Retired] Red Hat Raw Hide Reporter: Need Real Name <bdoctor>
Component: gcc3Assignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 1.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-04-10 15:29:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-08-31 16:17:38 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801

Description of problem:
I am trying to compile j2sdk1.3.1 on Linux.
Kernel: 2.4.5
glibc: 2.2.4-8.i386
gcc: 

Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.0.1/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux
Thread model: posix
gcc version 3.0.1 20010807 (Red Hat Linux 7.1 3.0-6)

command used: make [optimized|basic], after making clean
make version: 
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386-redhat-linux-gnu 

Screen output leading up:

Compiling
/home/bdoctor/hotspot1.3.1/build/linux/../../src/share/vm/runtime/classFileParser.cpp
In file included from
/home/bdoctor/hotspot1.3.1/src/share/vm/oops/constantPoolOop.hpp:60,
                 from
/home/bdoctor/hotspot1.3.1/src/cpu/i486/vm/assembler_i486.hpp:84:
/home/bdoctor/hotspot1.3.1/src/os_cpu/linux_i486/vm/bytes_linux_i486.inline.hpp:52:
Internal
   error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[2]: *** [classFileParser.o] Error 1
make[2]: Leaving directory
`/home/bdoctor/hotspot1.3.1/build/linux/linux_i486_core/optimized'
make[1]: *** [the_vm] Error 2
make[1]: Leaving directory
`/home/bdoctor/hotspot1.3.1/build/linux/linux_i486_core/optimized'
make: *** [optimizedcore] Error 2

I get other errors regarding inttypes.h if I use the included inttypes.h
file from glibc 2.2.4, these errors appear to have been fixed with 3.0.1 of
gcc, however they are still present.



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


How reproducible:
Always

Steps to Reproduce:
1.Download j2sdk source from sun
2.cd hotspot1.3.1/build/linux
3.make basic || make optimized

	

Actual Results:  Segfault with downgraded inttypes.h, syntax error with
included inttypes.h (included in 2.2.4 of glibc..)

Expected Results:  It should compile.  I would say it is a Sun/Java thing,
but clearly the system include files / compilers are having issues.

Additional info:

Since the description window is so small, here is output of the compilation
error with the included/standard 2.2.4 inttypes.h:

MD5SUM: a61b0b59ca4964f4163d65e67b7f0606  inttypes.h

Compiling
/home/bdoctor/hotspot1.3.1/build/linux/../../src/share/vm/runtime/classFileParser.cpp
In file included from
/home/bdoctor/hotspot1.3.1/src/share/vm/utilities/globalDefinitions_gcc.hpp:43,
                 from ../generated/incls/_classFileParser.cpp.incl:2,
                 from
/home/bdoctor/hotspot1.3.1/src/share/vm/runtime/classFileParser.cpp:18:
/usr/include/inttypes.h: In function `intmax_t wcstoimax(const __gwchar_t*, 
   __gwchar_t**, int)':
/usr/include/inttypes.h:432: cannot convert `const __gwchar_t* __restrict' to 
   `const wchar_t*' for argument `1' to `long long int
__wcstoll_internal(const 
   wchar_t*, wchar_t**, int, int)'
/usr/include/inttypes.h: In function `uintmax_t wcstoumax(const __gwchar_t*, 
   __gwchar_t**, int)':
/usr/include/inttypes.h:451: cannot convert `const __gwchar_t* __restrict' to 
   `const wchar_t*' for argument `1' to `long long unsigned int 
   __wcstoull_internal(const wchar_t*, wchar_t**, int, int)'
/home/bdoctor/hotspot1.3.1/src/os_cpu/linux_i486/vm/bytes_linux_i486.inline.hpp:52:
confused by earlier errors, bailing out
make[2]: *** [classFileParser.o] Error 1
make[2]: Leaving directory
`/home/bdoctor/hotspot1.3.1/build/linux/linux_i486_core/optimized'
make[1]: *** [the_vm] Error 2
make[1]: Leaving directory
`/home/bdoctor/hotspot1.3.1/build/linux/linux_i486_core/optimized'
make: *** [optimizedcore] Error 2

Comment 1 Jakub Jelinek 2001-09-01 19:12:17 UTC
There are 2 different things.
The inttypes.h bug should be fixed with:
http://sources.redhat.com/ml/libc-hacker/2001-09/msg00001.html
which will make it into glibc-2.2.4-12.

The other is an ICE, which was fixed in 2.96-RH already (#39858).
I've just added forward port of the patch to patch queue for 3.0.1-2.
The main problem is buggy JDK, which does tricks with arguments
(casts a function taking 2 32bit args to one taking 64bit arg and
wants all this inline at the same time explicitely - clearly undefined
behaviour).

Comment 2 Jakub Jelinek 2001-09-06 16:05:52 UTC
Fixed in glibc-2.2.4-12 and gcc3-3.0.1-2 respectively.

Comment 3 Jakub Jelinek 2001-09-08 07:50:54 UTC
*** Bug 53412 has been marked as a duplicate of this bug. ***

Comment 4 David Lawrence 2006-04-10 15:29:57 UTC
Closing due to inactivity. Please feel free to reopen this bug or refile this
bug against the latest release Fedora Core if you feel this bug is still
relevant today.

Thank you