Issue Details (XML | Word | Printable)

Key: STDCXX-545
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Martin Sebor
Reporter: Andrew Black
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

[Sun C++ 5.9/x86_64] ube ICE in collate.ccp

Created: 06/Sep/07 05:00 PM   Updated: 13/Sep/07 12:42 AM
Return to search
Component/s: Utilities
Affects Version/s: None
Fix Version/s: 4.2.0

Time Tracking:
Not Specified

Environment:
CC: Sun C++ 5.9 SunOS_i386 2007/05/03 (SunOS marbles 5.10 Generic_118855-33 i86pc i386 i86pc)
CC: Sun C++ 5.9 Linux_i386 2007/05/03 (Linux jacks 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux)
Issue Links:
Dependants
 

Severity: Compiler Error
Resolution Date: 13/Sep/07 12:42 AM


 Description  « Hide
When compiling the locale utility in release mode on x86 hardware with the Sunpro 5.9 compiler, a UBE error is triggered when attempting to build the collate.cpp source. This appears to only trigger in wide mode (at least on Solaris).

For Solaris on AMD64 hardware, the error observed is:
CC -c -mt -I$(TOPDIR)/include -I$(BUILDDIR)/include -library=%none -O -m64 +w -errtags -erroff=hidef $(TOPDIR)/util/collate.cpp
...
"collate.cpp", [__1cDDefNprocess_order6Mrn0ARcollate_section_t_rI_v_]:ube: error: Assert has been violated at '/set/mars/builds.intel-S2/nightly.Thu/intel-S2/lang/ube/machine/src/abi_call.c 172'.

For Linux builds, the error observed is:
CC -c -mt -I$(TOPDIR)/include -I$(BUILDDIR)/include -library=%none -O -xarch=generic +w $(TOPDIR)/util/collate.cpp
...
"collate.cpp", [__1cDDefNprocess_order6Mrn0ARcollate_section_t_rI_v_]:ube: error: Assert has been violated at '/set/mars/builds.intel-Linux/nightly.Thu/intel-Linux/lang/ube/machine/src/abi_call.c 172'.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Andrew Black added a comment - 06/Sep/07 05:11 PM
These failures were observed in nightly testing, and I have not had time to reduce the file to a test case. The similarity of the error messages between the Linux and Solaris builds indicates to me that the fault lies in the architecture specific portion of the compiler.

For reference, the following links point at run logs which include the failing behavior:
http://people.apache.org/~sebor/stdcxx/results/solaris-10-amd64-sunpro-5.9-12S-572853-log.gz.txt (Solaris 10 AMD64)
http://people.apache.org/~sebor/stdcxx/results/linux_suse-9.1-amd64-sunpro-5.9-12d-570904-log.gz.txt (Suse 9 AMD64)
http://people.apache.org/~sebor/stdcxx/results/linux_redhat_el-4.4-amd64-sunpro-5.9-12d-573119-log.gz.txt (Redhat 4 AMD64)
http://people.apache.org/~sebor/stdcxx/results/linux_redhat_el-4.4-em64t-sunpro-5.9-12d-570904-log.gz.txt (Redhat 4 EM64T)


Martin Sebor added a comment - 11/Sep/07 12:06 AM
The name of the compiler is Sun C++, not Sunpro.
UBE is the the x86/x64 code generator. The error is normally referred to as the Internal Compiler Error (ICE).
This must be fixed (worked around) for the upcoming 4.2 release – changed to Blocker and scheduled accordingly.
Assigned to self.

Martin Sebor added a comment - 11/Sep/07 12:13 AM
Set Severity to "Compiler Error"

Martin Sebor added a comment - 12/Sep/07 08:24 PM
The linked issue contains a test case for the compiler bug.

Martin Sebor added a comment - 12/Sep/07 11:13 PM
This only happens on x86_64 in wide (64-bit) mode.

Martin Sebor added a comment - 12/Sep/07 11:47 PM
Here's a small test case for this problem:

$ cat t.cpp && gmake t
#include <vector>
int main () {
std::vector<bool> vb;
vb.push_back (false);
}
CC -c -mt -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-suncc-5.9-12D/include -I/amd/devco/sebor/stdcxx/examples/include -library=%none -O -m64 +w -errtags -erroff=hidef t.cpp
"t.cpp", [main]:ube: error: Assert has been violated at '/set/mars/builds.intel-S2/nightly.Thu/intel-S2/lang/ube/machine/src/abi_call.c 172'.
gmake: *** [t.o] Error 154


Martin Sebor added a comment - 13/Sep/07 12:42 AM
The committed change resolved the problem in my manual build. Will close after we've seen a representative set of successful builds.